Coverage Report

Created: 2024-09-19 01:43

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
113M
    {
87
113M
        return s - i;
88
113M
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
16.4M
    {
87
16.4M
        return s - i;
88
16.4M
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
97.5M
    {
87
97.5M
        return s - i;
88
97.5M
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v3::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
100M
    {
94
100M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
100M
        return counter;
100
100M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
3.61M
    {
94
3.61M
        iter_difference_t<I> counter{0};
95
33.3M
        while (i != s) {
96
29.7M
            ++i;
97
29.7M
            ++counter;
98
29.7M
        }
99
3.61M
        return counter;
100
3.61M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
96.4M
    {
94
96.4M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
96.4M
        return counter;
100
96.4M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::detail::priority_tag<0ul>)
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
214M
    {
108
214M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
214M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
16.4M
    {
108
16.4M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
16.4M
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
97.5M
    {
108
97.5M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
97.5M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
107
3.61M
    {
108
3.61M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
3.61M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
107
96.4M
    {
108
96.4M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
96.4M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
70.5k
    {
132
70.5k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
70.5k
        return t;
136
70.5k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
12.9M
    {
151
12.9M
        i += n;
152
12.9M
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
11.2M
    {
151
11.2M
        i += n;
152
11.2M
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
1.74M
    {
151
1.74M
        i += n;
152
1.74M
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.14k
    {
161
3.14k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.14k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
3.14k
        else {
169
3.14k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.14k
        }
173
3.14k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.20k
    {
161
1.20k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.20k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.20k
        else {
169
1.20k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.20k
        }
173
1.20k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.94k
    {
161
1.94k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.94k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.94k
        else {
169
1.94k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.94k
        }
173
1.94k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
11.4M
    {
181
37.4M
        while (n-- > iter_difference_t<I>{0}) {
182
25.9M
            ++i;
183
25.9M
        }
184
11.4M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
10.1M
    {
181
33.3M
        while (n-- > iter_difference_t<I>{0}) {
182
23.1M
            ++i;
183
23.1M
        }
184
10.1M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
1.28M
    {
181
4.06M
        while (n-- > iter_difference_t<I>{0}) {
182
2.78M
            ++i;
183
2.78M
        }
184
1.28M
    }
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
935k
    {
190
935k
        i = std::move(bound);
191
935k
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
647k
    {
190
647k
        i = std::move(bound);
191
647k
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
287k
    {
190
287k
        i = std::move(bound);
191
287k
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
144
    {
203
2.64k
        while (i != bound) {
204
2.50k
            ++i;
205
2.50k
        }
206
144
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
96
    {
203
1.96k
        while (i != bound) {
204
1.86k
            ++i;
205
1.86k
        }
206
96
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
48
    {
203
684
        while (i != bound) {
204
636
            ++i;
205
636
        }
206
48
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
35.2k
    {
212
35.2k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
66
            auto dist = bound - i;
214
66
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
66
            return dist;
216
66
        }
217
35.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
35.2k
        return n;
219
35.2k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
35.2k
    {
212
35.2k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
66
            auto dist = bound - i;
214
66
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
66
            return dist;
216
66
        }
217
35.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
35.2k
        return n;
219
35.2k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
3.46k
    {
227
3.46k
        constexpr iter_difference_t<I> zero{0};
228
3.46k
        iter_difference_t<I> counter{0};
229
230
3.46k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.46k
        else {
237
12.2k
            while (n-- > zero && i != bound) {
238
8.76k
                ++i;
239
8.76k
                ++counter;
240
8.76k
            }
241
3.46k
        }
242
243
3.46k
        return counter;
244
3.46k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
2.73k
    {
227
2.73k
        constexpr iter_difference_t<I> zero{0};
228
2.73k
        iter_difference_t<I> counter{0};
229
230
2.73k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
2.73k
        else {
237
9.40k
            while (n-- > zero && i != bound) {
238
6.67k
                ++i;
239
6.67k
                ++counter;
240
6.67k
            }
241
2.73k
        }
242
243
2.73k
        return counter;
244
2.73k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
724
    {
227
724
        constexpr iter_difference_t<I> zero{0};
228
724
        iter_difference_t<I> counter{0};
229
230
724
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
724
        else {
237
2.81k
            while (n-- > zero && i != bound) {
238
2.08k
                ++i;
239
2.08k
                ++counter;
240
2.08k
            }
241
724
        }
242
243
724
        return counter;
244
724
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
125k
    {
252
125k
        constexpr iter_difference_t<I> zero{0};
253
125k
        iter_difference_t<I> counter{0};
254
255
453k
        while (n-- > zero && i != bound) {
256
328k
            ++i;
257
328k
            ++counter;
258
328k
        }
259
260
125k
        return counter;
261
125k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
251
125k
    {
252
125k
        constexpr iter_difference_t<I> zero{0};
253
125k
        iter_difference_t<I> counter{0};
254
255
453k
        while (n-- > zero && i != bound) {
256
328k
            ++i;
257
328k
            ++counter;
258
328k
        }
259
260
125k
        return counter;
261
125k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
24.3M
    {
268
24.3M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
24.3M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
11.1M
    {
268
11.1M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
11.1M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
1.74M
    {
268
1.74M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.74M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.20k
    {
268
1.20k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.20k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
267
10.1M
    {
268
10.1M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
10.1M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
267
1.28M
    {
268
1.28M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.28M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
1.94k
    {
268
1.94k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.94k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
935k
    {
275
935k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
935k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
647k
    {
275
647k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
647k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
96
    {
275
96
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
96
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
287k
    {
275
287k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
287k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
48
    {
275
48
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
48
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
164k
    {
283
164k
        return n - fn::impl_i_n_s(i, n, bound);
284
164k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
2.73k
    {
283
2.73k
        return n - fn::impl_i_n_s(i, n, bound);
284
2.73k
    }
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
Line
Count
Source
282
125k
    {
283
125k
        return n - fn::impl_i_n_s(i, n, bound);
284
125k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
35.2k
    {
283
35.2k
        return n - fn::impl_i_n_s(i, n, bound);
284
35.2k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
724
    {
283
724
        return n - fn::impl_i_n_s(i, n, bound);
284
724
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
12.8M
    {
296
12.8M
        ++x;
297
12.8M
        return x;
298
12.8M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
295
5.90M
    {
296
5.90M
        ++x;
297
5.90M
        return x;
298
5.90M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
1.93k
    {
296
1.93k
        ++x;
297
1.93k
        return x;
298
1.93k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
4.23M
    {
296
4.23M
        ++x;
297
4.23M
        return x;
298
4.23M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
295
1.48M
    {
296
1.48M
        ++x;
297
1.48M
        return x;
298
1.48M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
912
    {
296
912
        ++x;
297
912
        return x;
298
912
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
1.17M
    {
296
1.17M
        ++x;
297
1.17M
        return x;
298
1.17M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
21.0M
    {
304
21.0M
        ranges::advance(x, n);
305
21.0M
        return x;
306
21.0M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
11.1M
    {
304
11.1M
        ranges::advance(x, n);
305
11.1M
        return x;
306
11.1M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
1.74M
    {
304
1.74M
        ranges::advance(x, n);
305
1.74M
        return x;
306
1.74M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
303
6.78M
    {
304
6.78M
        ranges::advance(x, n);
305
6.78M
        return x;
306
6.78M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
303
1.28M
    {
304
1.28M
        ranges::advance(x, n);
305
1.28M
        return x;
306
1.28M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
935k
    {
313
935k
        ranges::advance(x, bound);
314
935k
        return x;
315
935k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
647k
    {
313
647k
        ranges::advance(x, bound);
314
647k
        return x;
315
647k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
96
    {
313
96
        ranges::advance(x, bound);
314
96
        return x;
315
96
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
287k
    {
313
287k
        ranges::advance(x, bound);
314
287k
        return x;
315
287k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
48
    {
313
48
        ranges::advance(x, bound);
314
48
        return x;
315
48
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
23.4M
{
458
23.4M
    return is_ascii_space_lookup[static_cast<size_t>(
459
23.4M
        static_cast<unsigned char>(ch))];
460
23.4M
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
344k
{
469
344k
    return static_cast<unsigned char>(ch) <= 127;
470
344k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
13.9k
{
474
13.9k
#if WCHAR_MIN < 0
475
13.9k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
13.9k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
275k
{
483
275k
    return cp <= 127;
484
275k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + (n)) - ((word) & ~0ull / 255 * 127)) &
532
0
             ~(word) &
533
0
             (((word) & ~0ull / 255 * 127) + ~0ull / 255 * (127 - (m)))) &
534
0
            (~0ull / 255 * 128));
535
0
}
536
537
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
538
7.37M
{
539
7.37M
    return (word + ~0ull / 255 * (127 - n) | word) & ~0ull / 255 * 128;
540
7.37M
}
541
542
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
543
0
{
544
0
    word ^= 0x8080808080808080ull;
545
0
    if (word == 0) {
546
0
        return 8;
547
0
    }
548
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
549
0
}
550
551
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
552
0
{
553
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
554
0
    auto input = word ^ pattern;
555
0
    auto tmp = (input & mask) + mask;
556
0
    tmp = ~(tmp | input | mask);
557
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
558
0
}
559
560
constexpr uint32_t log2_fast(uint32_t val)
561
0
{
562
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
563
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
564
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
565
0
566
0
    val |= val >> 1;
567
0
    val |= val >> 2;
568
0
    val |= val >> 4;
569
0
    val |= val >> 8;
570
0
    val |= val >> 16;
571
0
572
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
573
0
}
574
575
constexpr uint32_t log2_pow2_fast(uint32_t val)
576
0
{
577
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
578
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
579
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
580
0
581
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
582
0
}
583
584
constexpr uint64_t byteswap(uint64_t val)
585
0
{
586
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
587
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
588
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
589
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
590
0
}
591
592
/////////////////////////////////////////////////////////////////
593
// <function_ref>
594
/////////////////////////////////////////////////////////////////
595
596
namespace fnref_detail {
597
template <class T>
598
inline constexpr auto select_param_type = [] {
599
    if constexpr (std::is_trivially_copyable_v<T>) {
600
        return detail::type_identity<T>();
601
    }
602
    else {
603
        return std::add_rvalue_reference<T>();
604
    }
605
};
606
607
template <class T>
608
using param_t =
609
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
610
611
template <typename Sig>
612
struct qual_fn_sig;
613
614
template <typename R, typename... Args>
615
struct qual_fn_sig<R(Args...)> {
616
    using function = R(Args...);
617
618
    static constexpr bool is_noexcept = false;
619
620
    template <typename... T>
621
    static constexpr bool is_invocable_using =
622
        std::is_invocable_r_v<R, T..., Args...>;
623
624
    template <typename T>
625
    using cv = T;
626
};
627
628
template <typename R, typename... Args>
629
struct qual_fn_sig<R(Args...) noexcept> {
630
    using function = R(Args...);
631
632
    static constexpr bool is_noexcept = true;
633
634
    template <typename... T>
635
    static constexpr bool is_invocable_using =
636
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
637
638
    template <typename T>
639
    using cv = T;
640
};
641
642
template <typename R, typename... Args>
643
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
644
    template <typename T>
645
    using cv = T const;
646
};
647
648
template <typename R, typename... Args>
649
struct qual_fn_sig<R(Args...) const noexcept>
650
    : qual_fn_sig<R(Args...) noexcept> {
651
    template <typename T>
652
    using cv = T const;
653
};
654
655
struct base {
656
    union storage {
657
        constexpr storage() = default;
658
659
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
660
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
31.3M
        {
662
31.3M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >*)
Line
Count
Source
661
4.38M
        {
662
4.38M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >*)
Line
Count
Source
661
7.06M
        {
662
7.06M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_LPv0EEEPSK_
Line
Count
Source
661
1.65M
        {
662
1.65M
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
22.6k
        {
662
22.6k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_LPv0EEEPSP_
Line
Count
Source
661
802
        {
662
802
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
468
        {
662
468
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_LPv0EEEPSM_
Line
Count
Source
661
2.44k
        {
662
2.44k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
502k
        {
662
502k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
113k
        {
662
113k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
1.55M
        {
662
1.55M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
72.8k
        {
662
72.8k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
185k
        {
662
185k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
4
        {
662
4
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
266
        {
662
266
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_LPv0EEEPSJ_
Line
Count
Source
661
2.41k
        {
662
2.41k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_LPv0EEEPSI_
Line
Count
Source
661
27.8k
        {
662
27.8k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
Line
Count
Source
661
523k
        {
662
523k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
61.8k
        {
662
61.8k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
161k
        {
662
161k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
76.5k
        {
662
76.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
191k
        {
662
191k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
8
        {
662
8
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
262
        {
662
262
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
64.5k
        {
662
64.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
166k
        {
662
166k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
77.6k
        {
662
77.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
193k
        {
662
193k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
65.6k
        {
662
65.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
167k
        {
662
167k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
148k
        {
662
148k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
738
        {
662
738
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
3.24M
        {
662
3.24M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >*)
Line
Count
Source
661
1.39M
        {
662
1.39M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_LPv0EEEPSK_
Line
Count
Source
661
303k
        {
662
303k
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
3.52k
        {
662
3.52k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
3.36k
        {
662
3.36k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_LPv0EEEPSP_
Line
Count
Source
661
362
        {
662
362
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
162
        {
662
162
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
2.26M
        {
662
2.26M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
145k
        {
662
145k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
8.71k
        {
662
8.71k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
630k
        {
662
630k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
25.5k
        {
662
25.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
87.0k
        {
662
87.0k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
6
        {
662
6
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
114
        {
662
114
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_LPv0EEEPSI_
Line
Count
Source
661
3.03k
        {
662
3.03k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
Line
Count
Source
661
289k
        {
662
289k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
25.5k
        {
662
25.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
87.1k
        {
662
87.1k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
27.1k
        {
662
27.1k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
88.7k
        {
662
88.7k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
6
        {
662
6
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
114
        {
662
114
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
27.2k
        {
662
27.2k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
89.1k
        {
662
89.1k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
27.9k
        {
662
27.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
89.5k
        {
662
89.5k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
27.9k
        {
662
27.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
89.6k
        {
662
89.6k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
716k
        {
662
716k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
312
        {
662
312
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
1.43M
        {
662
1.43M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
42
        {
662
42
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
42
        {
662
42
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
42
        {
662
42
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
1.54M
        {
662
1.54M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
289k
        {
662
289k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
92.8k
        {
662
92.8k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
97.4k
        {
662
97.4k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
98.4k
        {
662
98.4k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
100k
        {
662
100k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
104k
        {
662
104k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
106k
        {
662
106k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
1.94k
        {
662
1.94k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
38.3k
        {
662
38.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
41.2k
        {
662
41.2k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
41.9k
        {
662
41.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
796
        {
662
796
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
38.2k
        {
662
38.2k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
40.7k
        {
662
40.7k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
41.9k
        {
662
41.9k
        }
663
664
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
665
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
27.2k
        {
667
27.2k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Line
Count
Source
666
2.04k
        {
667
2.04k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_LPv0EEEPKSM_
Line
Count
Source
666
2.77k
        {
667
2.77k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Line
Count
Source
666
330
        {
667
330
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_LPv0EEEPKSL_
Line
Count
Source
666
294
        {
667
294
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
2.35k
        {
667
2.35k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
5.82k
        {
667
5.82k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Line
Count
Source
666
520
        {
667
520
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_LPv0EEEPKSM_
Line
Count
Source
666
3.94k
        {
667
3.94k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Line
Count
Source
666
108
        {
667
108
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_LPv0EEEPKSL_
Line
Count
Source
666
72
        {
667
72
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
258
        {
667
258
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
7.97k
        {
667
7.97k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
476
        {
667
476
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
234
        {
667
234
        }
668
669
        template <typename F,
670
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
671
        constexpr explicit storage(F* f) noexcept
672
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
673
        {
674
        }
675
676
        void* m_p{nullptr};
677
        const void* m_cp;
678
        void (*m_fp)();
679
    };
680
681
    template <typename T>
682
    static constexpr auto get(storage s)
683
148M
    {
684
148M
        if constexpr (std::is_const_v<T>) {
685
148M
            return static_cast<T*>(s.m_cp);
686
148M
        }
687
148M
        else if constexpr (std::is_object_v<T>) {
688
148M
            return static_cast<T*>(s.m_p);
689
148M
        }
690
148M
        else {
691
148M
            return reinterpret_cast<T*>(s.m_fp);
692
148M
        }
693
148M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
20.6M
    {
684
20.6M
        if constexpr (std::is_const_v<T>) {
685
20.6M
            return static_cast<T*>(s.m_cp);
686
20.6M
        }
687
20.6M
        else if constexpr (std::is_object_v<T>) {
688
20.6M
            return static_cast<T*>(s.m_p);
689
20.6M
        }
690
20.6M
        else {
691
20.6M
            return reinterpret_cast<T*>(s.m_fp);
692
20.6M
        }
693
20.6M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
14.4M
    {
684
14.4M
        if constexpr (std::is_const_v<T>) {
685
14.4M
            return static_cast<T*>(s.m_cp);
686
14.4M
        }
687
14.4M
        else if constexpr (std::is_object_v<T>) {
688
14.4M
            return static_cast<T*>(s.m_p);
689
14.4M
        }
690
14.4M
        else {
691
14.4M
            return reinterpret_cast<T*>(s.m_fp);
692
14.4M
        }
693
14.4M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
6.49M
    {
684
6.49M
        if constexpr (std::is_const_v<T>) {
685
6.49M
            return static_cast<T*>(s.m_cp);
686
6.49M
        }
687
6.49M
        else if constexpr (std::is_object_v<T>) {
688
6.49M
            return static_cast<T*>(s.m_p);
689
6.49M
        }
690
6.49M
        else {
691
6.49M
            return reinterpret_cast<T*>(s.m_fp);
692
6.49M
        }
693
6.49M
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
36.2k
    {
684
36.2k
        if constexpr (std::is_const_v<T>) {
685
36.2k
            return static_cast<T*>(s.m_cp);
686
36.2k
        }
687
36.2k
        else if constexpr (std::is_object_v<T>) {
688
36.2k
            return static_cast<T*>(s.m_p);
689
36.2k
        }
690
36.2k
        else {
691
36.2k
            return reinterpret_cast<T*>(s.m_fp);
692
36.2k
        }
693
36.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
802
    {
684
802
        if constexpr (std::is_const_v<T>) {
685
802
            return static_cast<T*>(s.m_cp);
686
802
        }
687
802
        else if constexpr (std::is_object_v<T>) {
688
802
            return static_cast<T*>(s.m_p);
689
802
        }
690
802
        else {
691
802
            return reinterpret_cast<T*>(s.m_fp);
692
802
        }
693
802
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
2.47k
    {
684
2.47k
        if constexpr (std::is_const_v<T>) {
685
2.47k
            return static_cast<T*>(s.m_cp);
686
2.47k
        }
687
2.47k
        else if constexpr (std::is_object_v<T>) {
688
2.47k
            return static_cast<T*>(s.m_p);
689
2.47k
        }
690
2.47k
        else {
691
2.47k
            return reinterpret_cast<T*>(s.m_fp);
692
2.47k
        }
693
2.47k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
1.23k
    {
684
1.23k
        if constexpr (std::is_const_v<T>) {
685
1.23k
            return static_cast<T*>(s.m_cp);
686
1.23k
        }
687
1.23k
        else if constexpr (std::is_object_v<T>) {
688
1.23k
            return static_cast<T*>(s.m_p);
689
1.23k
        }
690
1.23k
        else {
691
1.23k
            return reinterpret_cast<T*>(s.m_fp);
692
1.23k
        }
693
1.23k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
72.8k
    {
684
72.8k
        if constexpr (std::is_const_v<T>) {
685
72.8k
            return static_cast<T*>(s.m_cp);
686
72.8k
        }
687
72.8k
        else if constexpr (std::is_object_v<T>) {
688
72.8k
            return static_cast<T*>(s.m_p);
689
72.8k
        }
690
72.8k
        else {
691
72.8k
            return reinterpret_cast<T*>(s.m_fp);
692
72.8k
        }
693
72.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
20.6k
    {
684
20.6k
        if constexpr (std::is_const_v<T>) {
685
20.6k
            return static_cast<T*>(s.m_cp);
686
20.6k
        }
687
20.6k
        else if constexpr (std::is_object_v<T>) {
688
20.6k
            return static_cast<T*>(s.m_p);
689
20.6k
        }
690
20.6k
        else {
691
20.6k
            return reinterpret_cast<T*>(s.m_fp);
692
20.6k
        }
693
20.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
2.55M
    {
684
2.55M
        if constexpr (std::is_const_v<T>) {
685
2.55M
            return static_cast<T*>(s.m_cp);
686
2.55M
        }
687
2.55M
        else if constexpr (std::is_object_v<T>) {
688
2.55M
            return static_cast<T*>(s.m_p);
689
2.55M
        }
690
2.55M
        else {
691
2.55M
            return reinterpret_cast<T*>(s.m_fp);
692
2.55M
        }
693
2.55M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
351k
    {
684
351k
        if constexpr (std::is_const_v<T>) {
685
351k
            return static_cast<T*>(s.m_cp);
686
351k
        }
687
351k
        else if constexpr (std::is_object_v<T>) {
688
351k
            return static_cast<T*>(s.m_p);
689
351k
        }
690
351k
        else {
691
351k
            return reinterpret_cast<T*>(s.m_fp);
692
351k
        }
693
351k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
8.42M
    {
684
8.42M
        if constexpr (std::is_const_v<T>) {
685
8.42M
            return static_cast<T*>(s.m_cp);
686
8.42M
        }
687
8.42M
        else if constexpr (std::is_object_v<T>) {
688
8.42M
            return static_cast<T*>(s.m_p);
689
8.42M
        }
690
8.42M
        else {
691
8.42M
            return reinterpret_cast<T*>(s.m_fp);
692
8.42M
        }
693
8.42M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
185k
    {
684
185k
        if constexpr (std::is_const_v<T>) {
685
185k
            return static_cast<T*>(s.m_cp);
686
185k
        }
687
185k
        else if constexpr (std::is_object_v<T>) {
688
185k
            return static_cast<T*>(s.m_p);
689
185k
        }
690
185k
        else {
691
185k
            return reinterpret_cast<T*>(s.m_fp);
692
185k
        }
693
185k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
4
    {
684
4
        if constexpr (std::is_const_v<T>) {
685
4
            return static_cast<T*>(s.m_cp);
686
4
        }
687
4
        else if constexpr (std::is_object_v<T>) {
688
4
            return static_cast<T*>(s.m_p);
689
4
        }
690
4
        else {
691
4
            return reinterpret_cast<T*>(s.m_fp);
692
4
        }
693
4
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
266
    {
684
266
        if constexpr (std::is_const_v<T>) {
685
266
            return static_cast<T*>(s.m_cp);
686
266
        }
687
266
        else if constexpr (std::is_object_v<T>) {
688
266
            return static_cast<T*>(s.m_p);
689
266
        }
690
266
        else {
691
266
            return reinterpret_cast<T*>(s.m_fp);
692
266
        }
693
266
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
61.8k
    {
684
61.8k
        if constexpr (std::is_const_v<T>) {
685
61.8k
            return static_cast<T*>(s.m_cp);
686
61.8k
        }
687
61.8k
        else if constexpr (std::is_object_v<T>) {
688
61.8k
            return static_cast<T*>(s.m_p);
689
61.8k
        }
690
61.8k
        else {
691
61.8k
            return reinterpret_cast<T*>(s.m_fp);
692
61.8k
        }
693
61.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
20.5k
    {
684
20.5k
        if constexpr (std::is_const_v<T>) {
685
20.5k
            return static_cast<T*>(s.m_cp);
686
20.5k
        }
687
20.5k
        else if constexpr (std::is_object_v<T>) {
688
20.5k
            return static_cast<T*>(s.m_p);
689
20.5k
        }
690
20.5k
        else {
691
20.5k
            return reinterpret_cast<T*>(s.m_fp);
692
20.5k
        }
693
20.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
80.6k
    {
684
80.6k
        if constexpr (std::is_const_v<T>) {
685
80.6k
            return static_cast<T*>(s.m_cp);
686
80.6k
        }
687
80.6k
        else if constexpr (std::is_object_v<T>) {
688
80.6k
            return static_cast<T*>(s.m_p);
689
80.6k
        }
690
80.6k
        else {
691
80.6k
            return reinterpret_cast<T*>(s.m_fp);
692
80.6k
        }
693
80.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
2.70M
    {
684
2.70M
        if constexpr (std::is_const_v<T>) {
685
2.70M
            return static_cast<T*>(s.m_cp);
686
2.70M
        }
687
2.70M
        else if constexpr (std::is_object_v<T>) {
688
2.70M
            return static_cast<T*>(s.m_p);
689
2.70M
        }
690
2.70M
        else {
691
2.70M
            return reinterpret_cast<T*>(s.m_fp);
692
2.70M
        }
693
2.70M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
161k
    {
684
161k
        if constexpr (std::is_const_v<T>) {
685
161k
            return static_cast<T*>(s.m_cp);
686
161k
        }
687
161k
        else if constexpr (std::is_object_v<T>) {
688
161k
            return static_cast<T*>(s.m_p);
689
161k
        }
690
161k
        else {
691
161k
            return reinterpret_cast<T*>(s.m_fp);
692
161k
        }
693
161k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
76.5k
    {
684
76.5k
        if constexpr (std::is_const_v<T>) {
685
76.5k
            return static_cast<T*>(s.m_cp);
686
76.5k
        }
687
76.5k
        else if constexpr (std::is_object_v<T>) {
688
76.5k
            return static_cast<T*>(s.m_p);
689
76.5k
        }
690
76.5k
        else {
691
76.5k
            return reinterpret_cast<T*>(s.m_fp);
692
76.5k
        }
693
76.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
191k
    {
684
191k
        if constexpr (std::is_const_v<T>) {
685
191k
            return static_cast<T*>(s.m_cp);
686
191k
        }
687
191k
        else if constexpr (std::is_object_v<T>) {
688
191k
            return static_cast<T*>(s.m_p);
689
191k
        }
690
191k
        else {
691
191k
            return reinterpret_cast<T*>(s.m_fp);
692
191k
        }
693
191k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
8
    {
684
8
        if constexpr (std::is_const_v<T>) {
685
8
            return static_cast<T*>(s.m_cp);
686
8
        }
687
8
        else if constexpr (std::is_object_v<T>) {
688
8
            return static_cast<T*>(s.m_p);
689
8
        }
690
8
        else {
691
8
            return reinterpret_cast<T*>(s.m_fp);
692
8
        }
693
8
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
262
    {
684
262
        if constexpr (std::is_const_v<T>) {
685
262
            return static_cast<T*>(s.m_cp);
686
262
        }
687
262
        else if constexpr (std::is_object_v<T>) {
688
262
            return static_cast<T*>(s.m_p);
689
262
        }
690
262
        else {
691
262
            return reinterpret_cast<T*>(s.m_fp);
692
262
        }
693
262
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
64.5k
    {
684
64.5k
        if constexpr (std::is_const_v<T>) {
685
64.5k
            return static_cast<T*>(s.m_cp);
686
64.5k
        }
687
64.5k
        else if constexpr (std::is_object_v<T>) {
688
64.5k
            return static_cast<T*>(s.m_p);
689
64.5k
        }
690
64.5k
        else {
691
64.5k
            return reinterpret_cast<T*>(s.m_fp);
692
64.5k
        }
693
64.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
166k
    {
684
166k
        if constexpr (std::is_const_v<T>) {
685
166k
            return static_cast<T*>(s.m_cp);
686
166k
        }
687
166k
        else if constexpr (std::is_object_v<T>) {
688
166k
            return static_cast<T*>(s.m_p);
689
166k
        }
690
166k
        else {
691
166k
            return reinterpret_cast<T*>(s.m_fp);
692
166k
        }
693
166k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
77.6k
    {
684
77.6k
        if constexpr (std::is_const_v<T>) {
685
77.6k
            return static_cast<T*>(s.m_cp);
686
77.6k
        }
687
77.6k
        else if constexpr (std::is_object_v<T>) {
688
77.6k
            return static_cast<T*>(s.m_p);
689
77.6k
        }
690
77.6k
        else {
691
77.6k
            return reinterpret_cast<T*>(s.m_fp);
692
77.6k
        }
693
77.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
193k
    {
684
193k
        if constexpr (std::is_const_v<T>) {
685
193k
            return static_cast<T*>(s.m_cp);
686
193k
        }
687
193k
        else if constexpr (std::is_object_v<T>) {
688
193k
            return static_cast<T*>(s.m_p);
689
193k
        }
690
193k
        else {
691
193k
            return reinterpret_cast<T*>(s.m_fp);
692
193k
        }
693
193k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
65.6k
    {
684
65.6k
        if constexpr (std::is_const_v<T>) {
685
65.6k
            return static_cast<T*>(s.m_cp);
686
65.6k
        }
687
65.6k
        else if constexpr (std::is_object_v<T>) {
688
65.6k
            return static_cast<T*>(s.m_p);
689
65.6k
        }
690
65.6k
        else {
691
65.6k
            return reinterpret_cast<T*>(s.m_fp);
692
65.6k
        }
693
65.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
167k
    {
684
167k
        if constexpr (std::is_const_v<T>) {
685
167k
            return static_cast<T*>(s.m_cp);
686
167k
        }
687
167k
        else if constexpr (std::is_object_v<T>) {
688
167k
            return static_cast<T*>(s.m_p);
689
167k
        }
690
167k
        else {
691
167k
            return reinterpret_cast<T*>(s.m_fp);
692
167k
        }
693
167k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
944k
    {
684
944k
        if constexpr (std::is_const_v<T>) {
685
944k
            return static_cast<T*>(s.m_cp);
686
944k
        }
687
944k
        else if constexpr (std::is_object_v<T>) {
688
944k
            return static_cast<T*>(s.m_p);
689
944k
        }
690
944k
        else {
691
944k
            return reinterpret_cast<T*>(s.m_fp);
692
944k
        }
693
944k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
7.12k
    {
684
7.12k
        if constexpr (std::is_const_v<T>) {
685
7.12k
            return static_cast<T*>(s.m_cp);
686
7.12k
        }
687
7.12k
        else if constexpr (std::is_object_v<T>) {
688
7.12k
            return static_cast<T*>(s.m_p);
689
7.12k
        }
690
7.12k
        else {
691
7.12k
            return reinterpret_cast<T*>(s.m_fp);
692
7.12k
        }
693
7.12k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
8.82k
    {
684
8.82k
        if constexpr (std::is_const_v<T>) {
685
8.82k
            return static_cast<T*>(s.m_cp);
686
8.82k
        }
687
8.82k
        else if constexpr (std::is_object_v<T>) {
688
8.82k
            return static_cast<T*>(s.m_p);
689
8.82k
        }
690
8.82k
        else {
691
8.82k
            return reinterpret_cast<T*>(s.m_fp);
692
8.82k
        }
693
8.82k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
782
    {
684
782
        if constexpr (std::is_const_v<T>) {
685
782
            return static_cast<T*>(s.m_cp);
686
782
        }
687
782
        else if constexpr (std::is_object_v<T>) {
688
782
            return static_cast<T*>(s.m_p);
689
782
        }
690
782
        else {
691
782
            return reinterpret_cast<T*>(s.m_fp);
692
782
        }
693
782
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
10.3k
    {
684
10.3k
        if constexpr (std::is_const_v<T>) {
685
10.3k
            return static_cast<T*>(s.m_cp);
686
10.3k
        }
687
10.3k
        else if constexpr (std::is_object_v<T>) {
688
10.3k
            return static_cast<T*>(s.m_p);
689
10.3k
        }
690
10.3k
        else {
691
10.3k
            return reinterpret_cast<T*>(s.m_fp);
692
10.3k
        }
693
10.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
5.32k
    {
684
5.32k
        if constexpr (std::is_const_v<T>) {
685
5.32k
            return static_cast<T*>(s.m_cp);
686
5.32k
        }
687
5.32k
        else if constexpr (std::is_object_v<T>) {
688
5.32k
            return static_cast<T*>(s.m_p);
689
5.32k
        }
690
5.32k
        else {
691
5.32k
            return reinterpret_cast<T*>(s.m_fp);
692
5.32k
        }
693
5.32k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
442
    {
684
442
        if constexpr (std::is_const_v<T>) {
685
442
            return static_cast<T*>(s.m_cp);
686
442
        }
687
442
        else if constexpr (std::is_object_v<T>) {
688
442
            return static_cast<T*>(s.m_p);
689
442
        }
690
442
        else {
691
442
            return reinterpret_cast<T*>(s.m_fp);
692
442
        }
693
442
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
260k
    {
684
260k
        if constexpr (std::is_const_v<T>) {
685
260k
            return static_cast<T*>(s.m_cp);
686
260k
        }
687
260k
        else if constexpr (std::is_object_v<T>) {
688
260k
            return static_cast<T*>(s.m_p);
689
260k
        }
690
260k
        else {
691
260k
            return reinterpret_cast<T*>(s.m_fp);
692
260k
        }
693
260k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
17.7k
    {
684
17.7k
        if constexpr (std::is_const_v<T>) {
685
17.7k
            return static_cast<T*>(s.m_cp);
686
17.7k
        }
687
17.7k
        else if constexpr (std::is_object_v<T>) {
688
17.7k
            return static_cast<T*>(s.m_p);
689
17.7k
        }
690
17.7k
        else {
691
17.7k
            return reinterpret_cast<T*>(s.m_fp);
692
17.7k
        }
693
17.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
782
    {
684
782
        if constexpr (std::is_const_v<T>) {
685
782
            return static_cast<T*>(s.m_cp);
686
782
        }
687
782
        else if constexpr (std::is_object_v<T>) {
688
782
            return static_cast<T*>(s.m_p);
689
782
        }
690
782
        else {
691
782
            return reinterpret_cast<T*>(s.m_fp);
692
782
        }
693
782
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
442
    {
684
442
        if constexpr (std::is_const_v<T>) {
685
442
            return static_cast<T*>(s.m_cp);
686
442
        }
687
442
        else if constexpr (std::is_object_v<T>) {
688
442
            return static_cast<T*>(s.m_p);
689
442
        }
690
442
        else {
691
442
            return reinterpret_cast<T*>(s.m_fp);
692
442
        }
693
442
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
782
    {
684
782
        if constexpr (std::is_const_v<T>) {
685
782
            return static_cast<T*>(s.m_cp);
686
782
        }
687
782
        else if constexpr (std::is_object_v<T>) {
688
782
            return static_cast<T*>(s.m_p);
689
782
        }
690
782
        else {
691
782
            return reinterpret_cast<T*>(s.m_fp);
692
782
        }
693
782
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
442
    {
684
442
        if constexpr (std::is_const_v<T>) {
685
442
            return static_cast<T*>(s.m_cp);
686
442
        }
687
442
        else if constexpr (std::is_object_v<T>) {
688
442
            return static_cast<T*>(s.m_p);
689
442
        }
690
442
        else {
691
442
            return reinterpret_cast<T*>(s.m_fp);
692
442
        }
693
442
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
6.83M
    {
684
6.83M
        if constexpr (std::is_const_v<T>) {
685
6.83M
            return static_cast<T*>(s.m_cp);
686
6.83M
        }
687
6.83M
        else if constexpr (std::is_object_v<T>) {
688
6.83M
            return static_cast<T*>(s.m_p);
689
6.83M
        }
690
6.83M
        else {
691
6.83M
            return reinterpret_cast<T*>(s.m_fp);
692
6.83M
        }
693
6.83M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
1.91M
    {
684
1.91M
        if constexpr (std::is_const_v<T>) {
685
1.91M
            return static_cast<T*>(s.m_cp);
686
1.91M
        }
687
1.91M
        else if constexpr (std::is_object_v<T>) {
688
1.91M
            return static_cast<T*>(s.m_p);
689
1.91M
        }
690
1.91M
        else {
691
1.91M
            return reinterpret_cast<T*>(s.m_fp);
692
1.91M
        }
693
1.91M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
314k
    {
684
314k
        if constexpr (std::is_const_v<T>) {
685
314k
            return static_cast<T*>(s.m_cp);
686
314k
        }
687
314k
        else if constexpr (std::is_object_v<T>) {
688
314k
            return static_cast<T*>(s.m_p);
689
314k
        }
690
314k
        else {
691
314k
            return reinterpret_cast<T*>(s.m_fp);
692
314k
        }
693
314k
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
7.12k
    {
684
7.12k
        if constexpr (std::is_const_v<T>) {
685
7.12k
            return static_cast<T*>(s.m_cp);
686
7.12k
        }
687
7.12k
        else if constexpr (std::is_object_v<T>) {
688
7.12k
            return static_cast<T*>(s.m_p);
689
7.12k
        }
690
7.12k
        else {
691
7.12k
            return reinterpret_cast<T*>(s.m_fp);
692
7.12k
        }
693
7.12k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
3.53k
    {
684
3.53k
        if constexpr (std::is_const_v<T>) {
685
3.53k
            return static_cast<T*>(s.m_cp);
686
3.53k
        }
687
3.53k
        else if constexpr (std::is_object_v<T>) {
688
3.53k
            return static_cast<T*>(s.m_p);
689
3.53k
        }
690
3.53k
        else {
691
3.53k
            return reinterpret_cast<T*>(s.m_fp);
692
3.53k
        }
693
3.53k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
362
    {
684
362
        if constexpr (std::is_const_v<T>) {
685
362
            return static_cast<T*>(s.m_cp);
686
362
        }
687
362
        else if constexpr (std::is_object_v<T>) {
688
362
            return static_cast<T*>(s.m_p);
689
362
        }
690
362
        else {
691
362
            return reinterpret_cast<T*>(s.m_fp);
692
362
        }
693
362
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
1.11k
    {
684
1.11k
        if constexpr (std::is_const_v<T>) {
685
1.11k
            return static_cast<T*>(s.m_cp);
686
1.11k
        }
687
1.11k
        else if constexpr (std::is_object_v<T>) {
688
1.11k
            return static_cast<T*>(s.m_p);
689
1.11k
        }
690
1.11k
        else {
691
1.11k
            return reinterpret_cast<T*>(s.m_fp);
692
1.11k
        }
693
1.11k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
162
    {
684
162
        if constexpr (std::is_const_v<T>) {
685
162
            return static_cast<T*>(s.m_cp);
686
162
        }
687
162
        else if constexpr (std::is_object_v<T>) {
688
162
            return static_cast<T*>(s.m_p);
689
162
        }
690
162
        else {
691
162
            return reinterpret_cast<T*>(s.m_fp);
692
162
        }
693
162
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.48M
    {
684
4.48M
        if constexpr (std::is_const_v<T>) {
685
4.48M
            return static_cast<T*>(s.m_cp);
686
4.48M
        }
687
4.48M
        else if constexpr (std::is_object_v<T>) {
688
4.48M
            return static_cast<T*>(s.m_p);
689
4.48M
        }
690
4.48M
        else {
691
4.48M
            return reinterpret_cast<T*>(s.m_fp);
692
4.48M
        }
693
4.48M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
25.5k
    {
684
25.5k
        if constexpr (std::is_const_v<T>) {
685
25.5k
            return static_cast<T*>(s.m_cp);
686
25.5k
        }
687
25.5k
        else if constexpr (std::is_object_v<T>) {
688
25.5k
            return static_cast<T*>(s.m_p);
689
25.5k
        }
690
25.5k
        else {
691
25.5k
            return reinterpret_cast<T*>(s.m_fp);
692
25.5k
        }
693
25.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
221k
    {
684
221k
        if constexpr (std::is_const_v<T>) {
685
221k
            return static_cast<T*>(s.m_cp);
686
221k
        }
687
221k
        else if constexpr (std::is_object_v<T>) {
688
221k
            return static_cast<T*>(s.m_p);
689
221k
        }
690
221k
        else {
691
221k
            return reinterpret_cast<T*>(s.m_fp);
692
221k
        }
693
221k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
29.2k
    {
684
29.2k
        if constexpr (std::is_const_v<T>) {
685
29.2k
            return static_cast<T*>(s.m_cp);
686
29.2k
        }
687
29.2k
        else if constexpr (std::is_object_v<T>) {
688
29.2k
            return static_cast<T*>(s.m_p);
689
29.2k
        }
690
29.2k
        else {
691
29.2k
            return reinterpret_cast<T*>(s.m_fp);
692
29.2k
        }
693
29.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
912k
    {
684
912k
        if constexpr (std::is_const_v<T>) {
685
912k
            return static_cast<T*>(s.m_cp);
686
912k
        }
687
912k
        else if constexpr (std::is_object_v<T>) {
688
912k
            return static_cast<T*>(s.m_p);
689
912k
        }
690
912k
        else {
691
912k
            return reinterpret_cast<T*>(s.m_fp);
692
912k
        }
693
912k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
87.0k
    {
684
87.0k
        if constexpr (std::is_const_v<T>) {
685
87.0k
            return static_cast<T*>(s.m_cp);
686
87.0k
        }
687
87.0k
        else if constexpr (std::is_object_v<T>) {
688
87.0k
            return static_cast<T*>(s.m_p);
689
87.0k
        }
690
87.0k
        else {
691
87.0k
            return reinterpret_cast<T*>(s.m_fp);
692
87.0k
        }
693
87.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
114
    {
684
114
        if constexpr (std::is_const_v<T>) {
685
114
            return static_cast<T*>(s.m_cp);
686
114
        }
687
114
        else if constexpr (std::is_object_v<T>) {
688
114
            return static_cast<T*>(s.m_p);
689
114
        }
690
114
        else {
691
114
            return reinterpret_cast<T*>(s.m_fp);
692
114
        }
693
114
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
25.5k
    {
684
25.5k
        if constexpr (std::is_const_v<T>) {
685
25.5k
            return static_cast<T*>(s.m_cp);
686
25.5k
        }
687
25.5k
        else if constexpr (std::is_object_v<T>) {
688
25.5k
            return static_cast<T*>(s.m_p);
689
25.5k
        }
690
25.5k
        else {
691
25.5k
            return reinterpret_cast<T*>(s.m_fp);
692
25.5k
        }
693
25.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
10.0k
    {
684
10.0k
        if constexpr (std::is_const_v<T>) {
685
10.0k
            return static_cast<T*>(s.m_cp);
686
10.0k
        }
687
10.0k
        else if constexpr (std::is_object_v<T>) {
688
10.0k
            return static_cast<T*>(s.m_p);
689
10.0k
        }
690
10.0k
        else {
691
10.0k
            return reinterpret_cast<T*>(s.m_fp);
692
10.0k
        }
693
10.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
412k
    {
684
412k
        if constexpr (std::is_const_v<T>) {
685
412k
            return static_cast<T*>(s.m_cp);
686
412k
        }
687
412k
        else if constexpr (std::is_object_v<T>) {
688
412k
            return static_cast<T*>(s.m_p);
689
412k
        }
690
412k
        else {
691
412k
            return reinterpret_cast<T*>(s.m_fp);
692
412k
        }
693
412k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
87.1k
    {
684
87.1k
        if constexpr (std::is_const_v<T>) {
685
87.1k
            return static_cast<T*>(s.m_cp);
686
87.1k
        }
687
87.1k
        else if constexpr (std::is_object_v<T>) {
688
87.1k
            return static_cast<T*>(s.m_p);
689
87.1k
        }
690
87.1k
        else {
691
87.1k
            return reinterpret_cast<T*>(s.m_fp);
692
87.1k
        }
693
87.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.1k
    {
684
27.1k
        if constexpr (std::is_const_v<T>) {
685
27.1k
            return static_cast<T*>(s.m_cp);
686
27.1k
        }
687
27.1k
        else if constexpr (std::is_object_v<T>) {
688
27.1k
            return static_cast<T*>(s.m_p);
689
27.1k
        }
690
27.1k
        else {
691
27.1k
            return reinterpret_cast<T*>(s.m_fp);
692
27.1k
        }
693
27.1k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
88.7k
    {
684
88.7k
        if constexpr (std::is_const_v<T>) {
685
88.7k
            return static_cast<T*>(s.m_cp);
686
88.7k
        }
687
88.7k
        else if constexpr (std::is_object_v<T>) {
688
88.7k
            return static_cast<T*>(s.m_p);
689
88.7k
        }
690
88.7k
        else {
691
88.7k
            return reinterpret_cast<T*>(s.m_fp);
692
88.7k
        }
693
88.7k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
114
    {
684
114
        if constexpr (std::is_const_v<T>) {
685
114
            return static_cast<T*>(s.m_cp);
686
114
        }
687
114
        else if constexpr (std::is_object_v<T>) {
688
114
            return static_cast<T*>(s.m_p);
689
114
        }
690
114
        else {
691
114
            return reinterpret_cast<T*>(s.m_fp);
692
114
        }
693
114
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.2k
    {
684
27.2k
        if constexpr (std::is_const_v<T>) {
685
27.2k
            return static_cast<T*>(s.m_cp);
686
27.2k
        }
687
27.2k
        else if constexpr (std::is_object_v<T>) {
688
27.2k
            return static_cast<T*>(s.m_p);
689
27.2k
        }
690
27.2k
        else {
691
27.2k
            return reinterpret_cast<T*>(s.m_fp);
692
27.2k
        }
693
27.2k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
89.1k
    {
684
89.1k
        if constexpr (std::is_const_v<T>) {
685
89.1k
            return static_cast<T*>(s.m_cp);
686
89.1k
        }
687
89.1k
        else if constexpr (std::is_object_v<T>) {
688
89.1k
            return static_cast<T*>(s.m_p);
689
89.1k
        }
690
89.1k
        else {
691
89.1k
            return reinterpret_cast<T*>(s.m_fp);
692
89.1k
        }
693
89.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.9k
    {
684
27.9k
        if constexpr (std::is_const_v<T>) {
685
27.9k
            return static_cast<T*>(s.m_cp);
686
27.9k
        }
687
27.9k
        else if constexpr (std::is_object_v<T>) {
688
27.9k
            return static_cast<T*>(s.m_p);
689
27.9k
        }
690
27.9k
        else {
691
27.9k
            return reinterpret_cast<T*>(s.m_fp);
692
27.9k
        }
693
27.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
89.5k
    {
684
89.5k
        if constexpr (std::is_const_v<T>) {
685
89.5k
            return static_cast<T*>(s.m_cp);
686
89.5k
        }
687
89.5k
        else if constexpr (std::is_object_v<T>) {
688
89.5k
            return static_cast<T*>(s.m_p);
689
89.5k
        }
690
89.5k
        else {
691
89.5k
            return reinterpret_cast<T*>(s.m_fp);
692
89.5k
        }
693
89.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.9k
    {
684
27.9k
        if constexpr (std::is_const_v<T>) {
685
27.9k
            return static_cast<T*>(s.m_cp);
686
27.9k
        }
687
27.9k
        else if constexpr (std::is_object_v<T>) {
688
27.9k
            return static_cast<T*>(s.m_p);
689
27.9k
        }
690
27.9k
        else {
691
27.9k
            return reinterpret_cast<T*>(s.m_fp);
692
27.9k
        }
693
27.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
89.6k
    {
684
89.6k
        if constexpr (std::is_const_v<T>) {
685
89.6k
            return static_cast<T*>(s.m_cp);
686
89.6k
        }
687
89.6k
        else if constexpr (std::is_object_v<T>) {
688
89.6k
            return static_cast<T*>(s.m_p);
689
89.6k
        }
690
89.6k
        else {
691
89.6k
            return reinterpret_cast<T*>(s.m_fp);
692
89.6k
        }
693
89.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
23.2M
    {
684
23.2M
        if constexpr (std::is_const_v<T>) {
685
23.2M
            return static_cast<T*>(s.m_cp);
686
23.2M
        }
687
23.2M
        else if constexpr (std::is_object_v<T>) {
688
23.2M
            return static_cast<T*>(s.m_p);
689
23.2M
        }
690
23.2M
        else {
691
23.2M
            return reinterpret_cast<T*>(s.m_fp);
692
23.2M
        }
693
23.2M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
4.19k
    {
684
4.19k
        if constexpr (std::is_const_v<T>) {
685
4.19k
            return static_cast<T*>(s.m_cp);
686
4.19k
        }
687
4.19k
        else if constexpr (std::is_object_v<T>) {
688
4.19k
            return static_cast<T*>(s.m_p);
689
4.19k
        }
690
4.19k
        else {
691
4.19k
            return reinterpret_cast<T*>(s.m_fp);
692
4.19k
        }
693
4.19k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
7.05k
    {
684
7.05k
        if constexpr (std::is_const_v<T>) {
685
7.05k
            return static_cast<T*>(s.m_cp);
686
7.05k
        }
687
7.05k
        else if constexpr (std::is_object_v<T>) {
688
7.05k
            return static_cast<T*>(s.m_p);
689
7.05k
        }
690
7.05k
        else {
691
7.05k
            return reinterpret_cast<T*>(s.m_fp);
692
7.05k
        }
693
7.05k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
350
    {
684
350
        if constexpr (std::is_const_v<T>) {
685
350
            return static_cast<T*>(s.m_cp);
686
350
        }
687
350
        else if constexpr (std::is_object_v<T>) {
688
350
            return static_cast<T*>(s.m_p);
689
350
        }
690
350
        else {
691
350
            return reinterpret_cast<T*>(s.m_fp);
692
350
        }
693
350
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
456
    {
684
456
        if constexpr (std::is_const_v<T>) {
685
456
            return static_cast<T*>(s.m_cp);
686
456
        }
687
456
        else if constexpr (std::is_object_v<T>) {
688
456
            return static_cast<T*>(s.m_p);
689
456
        }
690
456
        else {
691
456
            return reinterpret_cast<T*>(s.m_fp);
692
456
        }
693
456
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
204
    {
684
204
        if constexpr (std::is_const_v<T>) {
685
204
            return static_cast<T*>(s.m_cp);
686
204
        }
687
204
        else if constexpr (std::is_object_v<T>) {
688
204
            return static_cast<T*>(s.m_p);
689
204
        }
690
204
        else {
691
204
            return reinterpret_cast<T*>(s.m_fp);
692
204
        }
693
204
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
46.5M
    {
684
46.5M
        if constexpr (std::is_const_v<T>) {
685
46.5M
            return static_cast<T*>(s.m_cp);
686
46.5M
        }
687
46.5M
        else if constexpr (std::is_object_v<T>) {
688
46.5M
            return static_cast<T*>(s.m_p);
689
46.5M
        }
690
46.5M
        else {
691
46.5M
            return reinterpret_cast<T*>(s.m_fp);
692
46.5M
        }
693
46.5M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
536
    {
684
536
        if constexpr (std::is_const_v<T>) {
685
536
            return static_cast<T*>(s.m_cp);
686
536
        }
687
536
        else if constexpr (std::is_object_v<T>) {
688
536
            return static_cast<T*>(s.m_p);
689
536
        }
690
536
        else {
691
536
            return reinterpret_cast<T*>(s.m_fp);
692
536
        }
693
536
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
3.93k
    {
684
3.93k
        if constexpr (std::is_const_v<T>) {
685
3.93k
            return static_cast<T*>(s.m_cp);
686
3.93k
        }
687
3.93k
        else if constexpr (std::is_object_v<T>) {
688
3.93k
            return static_cast<T*>(s.m_p);
689
3.93k
        }
690
3.93k
        else {
691
3.93k
            return reinterpret_cast<T*>(s.m_fp);
692
3.93k
        }
693
3.93k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
9.57k
    {
684
9.57k
        if constexpr (std::is_const_v<T>) {
685
9.57k
            return static_cast<T*>(s.m_cp);
686
9.57k
        }
687
9.57k
        else if constexpr (std::is_object_v<T>) {
688
9.57k
            return static_cast<T*>(s.m_p);
689
9.57k
        }
690
9.57k
        else {
691
9.57k
            return reinterpret_cast<T*>(s.m_fp);
692
9.57k
        }
693
9.57k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
350
    {
684
350
        if constexpr (std::is_const_v<T>) {
685
350
            return static_cast<T*>(s.m_cp);
686
350
        }
687
350
        else if constexpr (std::is_object_v<T>) {
688
350
            return static_cast<T*>(s.m_p);
689
350
        }
690
350
        else {
691
350
            return reinterpret_cast<T*>(s.m_fp);
692
350
        }
693
350
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
536
    {
684
536
        if constexpr (std::is_const_v<T>) {
685
536
            return static_cast<T*>(s.m_cp);
686
536
        }
687
536
        else if constexpr (std::is_object_v<T>) {
688
536
            return static_cast<T*>(s.m_p);
689
536
        }
690
536
        else {
691
536
            return reinterpret_cast<T*>(s.m_fp);
692
536
        }
693
536
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
350
    {
684
350
        if constexpr (std::is_const_v<T>) {
685
350
            return static_cast<T*>(s.m_cp);
686
350
        }
687
350
        else if constexpr (std::is_object_v<T>) {
688
350
            return static_cast<T*>(s.m_p);
689
350
        }
690
350
        else {
691
350
            return reinterpret_cast<T*>(s.m_fp);
692
350
        }
693
350
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
536
    {
684
536
        if constexpr (std::is_const_v<T>) {
685
536
            return static_cast<T*>(s.m_cp);
686
536
        }
687
536
        else if constexpr (std::is_object_v<T>) {
688
536
            return static_cast<T*>(s.m_p);
689
536
        }
690
536
        else {
691
536
            return reinterpret_cast<T*>(s.m_fp);
692
536
        }
693
536
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.80M
    {
684
2.80M
        if constexpr (std::is_const_v<T>) {
685
2.80M
            return static_cast<T*>(s.m_cp);
686
2.80M
        }
687
2.80M
        else if constexpr (std::is_object_v<T>) {
688
2.80M
            return static_cast<T*>(s.m_p);
689
2.80M
        }
690
2.80M
        else {
691
2.80M
            return reinterpret_cast<T*>(s.m_fp);
692
2.80M
        }
693
2.80M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
529k
    {
684
529k
        if constexpr (std::is_const_v<T>) {
685
529k
            return static_cast<T*>(s.m_cp);
686
529k
        }
687
529k
        else if constexpr (std::is_object_v<T>) {
688
529k
            return static_cast<T*>(s.m_p);
689
529k
        }
690
529k
        else {
691
529k
            return reinterpret_cast<T*>(s.m_fp);
692
529k
        }
693
529k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
92.8k
    {
684
92.8k
        if constexpr (std::is_const_v<T>) {
685
92.8k
            return static_cast<T*>(s.m_cp);
686
92.8k
        }
687
92.8k
        else if constexpr (std::is_object_v<T>) {
688
92.8k
            return static_cast<T*>(s.m_p);
689
92.8k
        }
690
92.8k
        else {
691
92.8k
            return reinterpret_cast<T*>(s.m_fp);
692
92.8k
        }
693
92.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
97.4k
    {
684
97.4k
        if constexpr (std::is_const_v<T>) {
685
97.4k
            return static_cast<T*>(s.m_cp);
686
97.4k
        }
687
97.4k
        else if constexpr (std::is_object_v<T>) {
688
97.4k
            return static_cast<T*>(s.m_p);
689
97.4k
        }
690
97.4k
        else {
691
97.4k
            return reinterpret_cast<T*>(s.m_fp);
692
97.4k
        }
693
97.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
98.4k
    {
684
98.4k
        if constexpr (std::is_const_v<T>) {
685
98.4k
            return static_cast<T*>(s.m_cp);
686
98.4k
        }
687
98.4k
        else if constexpr (std::is_object_v<T>) {
688
98.4k
            return static_cast<T*>(s.m_p);
689
98.4k
        }
690
98.4k
        else {
691
98.4k
            return reinterpret_cast<T*>(s.m_fp);
692
98.4k
        }
693
98.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
100k
    {
684
100k
        if constexpr (std::is_const_v<T>) {
685
100k
            return static_cast<T*>(s.m_cp);
686
100k
        }
687
100k
        else if constexpr (std::is_object_v<T>) {
688
100k
            return static_cast<T*>(s.m_p);
689
100k
        }
690
100k
        else {
691
100k
            return reinterpret_cast<T*>(s.m_fp);
692
100k
        }
693
100k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
104k
    {
684
104k
        if constexpr (std::is_const_v<T>) {
685
104k
            return static_cast<T*>(s.m_cp);
686
104k
        }
687
104k
        else if constexpr (std::is_object_v<T>) {
688
104k
            return static_cast<T*>(s.m_p);
689
104k
        }
690
104k
        else {
691
104k
            return reinterpret_cast<T*>(s.m_fp);
692
104k
        }
693
104k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
106k
    {
684
106k
        if constexpr (std::is_const_v<T>) {
685
106k
            return static_cast<T*>(s.m_cp);
686
106k
        }
687
106k
        else if constexpr (std::is_object_v<T>) {
688
106k
            return static_cast<T*>(s.m_p);
689
106k
        }
690
106k
        else {
691
106k
            return reinterpret_cast<T*>(s.m_fp);
692
106k
        }
693
106k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
784
    {
684
784
        if constexpr (std::is_const_v<T>) {
685
784
            return static_cast<T*>(s.m_cp);
686
784
        }
687
784
        else if constexpr (std::is_object_v<T>) {
688
784
            return static_cast<T*>(s.m_p);
689
784
        }
690
784
        else {
691
784
            return reinterpret_cast<T*>(s.m_fp);
692
784
        }
693
784
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
3.02k
    {
684
3.02k
        if constexpr (std::is_const_v<T>) {
685
3.02k
            return static_cast<T*>(s.m_cp);
686
3.02k
        }
687
3.02k
        else if constexpr (std::is_object_v<T>) {
688
3.02k
            return static_cast<T*>(s.m_p);
689
3.02k
        }
690
3.02k
        else {
691
3.02k
            return reinterpret_cast<T*>(s.m_fp);
692
3.02k
        }
693
3.02k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
38.3k
    {
684
38.3k
        if constexpr (std::is_const_v<T>) {
685
38.3k
            return static_cast<T*>(s.m_cp);
686
38.3k
        }
687
38.3k
        else if constexpr (std::is_object_v<T>) {
688
38.3k
            return static_cast<T*>(s.m_p);
689
38.3k
        }
690
38.3k
        else {
691
38.3k
            return reinterpret_cast<T*>(s.m_fp);
692
38.3k
        }
693
38.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
41.2k
    {
684
41.2k
        if constexpr (std::is_const_v<T>) {
685
41.2k
            return static_cast<T*>(s.m_cp);
686
41.2k
        }
687
41.2k
        else if constexpr (std::is_object_v<T>) {
688
41.2k
            return static_cast<T*>(s.m_p);
689
41.2k
        }
690
41.2k
        else {
691
41.2k
            return reinterpret_cast<T*>(s.m_fp);
692
41.2k
        }
693
41.2k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
41.9k
    {
684
41.9k
        if constexpr (std::is_const_v<T>) {
685
41.9k
            return static_cast<T*>(s.m_cp);
686
41.9k
        }
687
41.9k
        else if constexpr (std::is_object_v<T>) {
688
41.9k
            return static_cast<T*>(s.m_p);
689
41.9k
        }
690
41.9k
        else {
691
41.9k
            return reinterpret_cast<T*>(s.m_fp);
692
41.9k
        }
693
41.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
280
    {
684
280
        if constexpr (std::is_const_v<T>) {
685
280
            return static_cast<T*>(s.m_cp);
686
280
        }
687
280
        else if constexpr (std::is_object_v<T>) {
688
280
            return static_cast<T*>(s.m_p);
689
280
        }
690
280
        else {
691
280
            return reinterpret_cast<T*>(s.m_fp);
692
280
        }
693
280
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
796
    {
684
796
        if constexpr (std::is_const_v<T>) {
685
796
            return static_cast<T*>(s.m_cp);
686
796
        }
687
796
        else if constexpr (std::is_object_v<T>) {
688
796
            return static_cast<T*>(s.m_p);
689
796
        }
690
796
        else {
691
796
            return reinterpret_cast<T*>(s.m_fp);
692
796
        }
693
796
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
38.2k
    {
684
38.2k
        if constexpr (std::is_const_v<T>) {
685
38.2k
            return static_cast<T*>(s.m_cp);
686
38.2k
        }
687
38.2k
        else if constexpr (std::is_object_v<T>) {
688
38.2k
            return static_cast<T*>(s.m_p);
689
38.2k
        }
690
38.2k
        else {
691
38.2k
            return reinterpret_cast<T*>(s.m_fp);
692
38.2k
        }
693
38.2k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
40.7k
    {
684
40.7k
        if constexpr (std::is_const_v<T>) {
685
40.7k
            return static_cast<T*>(s.m_cp);
686
40.7k
        }
687
40.7k
        else if constexpr (std::is_object_v<T>) {
688
40.7k
            return static_cast<T*>(s.m_p);
689
40.7k
        }
690
40.7k
        else {
691
40.7k
            return reinterpret_cast<T*>(s.m_fp);
692
40.7k
        }
693
40.7k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
41.9k
    {
684
41.9k
        if constexpr (std::is_const_v<T>) {
685
41.9k
            return static_cast<T*>(s.m_cp);
686
41.9k
        }
687
41.9k
        else if constexpr (std::is_object_v<T>) {
688
41.9k
            return static_cast<T*>(s.m_p);
689
41.9k
        }
690
41.9k
        else {
691
41.9k
            return reinterpret_cast<T*>(s.m_fp);
692
41.9k
        }
693
41.9k
    }
694
};
695
}  // namespace fnref_detail
696
697
template <typename Sig,
698
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
699
class function_ref;
700
701
template <typename Sig, typename R, typename... Args>
702
class function_ref<Sig, R(Args...)> : fnref_detail::base {
703
    using signature = fnref_detail::qual_fn_sig<Sig>;
704
705
    template <typename T>
706
    using cv = typename signature::template cv<T>;
707
    template <typename T>
708
    using cvref = cv<T>&;
709
    static constexpr bool noex = signature::is_noexcept;
710
711
    template <typename... T>
712
    static constexpr bool is_invocable_using =
713
        signature::template is_invocable_using<T...>;
714
715
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
716
717
public:
718
    template <typename F,
719
              std::enable_if_t<std::is_function_v<F> &&
720
                               is_invocable_using<F>>* = nullptr>
721
    /*implicit*/ function_ref(F* f) noexcept
722
        : m_fptr([](storage fn,
723
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
724
              if constexpr (std::is_void_v<R>) {
725
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
726
              }
727
              else {
728
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
729
              }
730
          }),
731
          m_storage(f)
732
    {
733
        SCN_EXPECT(f != nullptr);
734
    }
735
736
    template <typename F,
737
              typename T = std::remove_reference_t<F>,
738
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
739
                               !std::is_member_pointer_v<T> &&
740
                               is_invocable_using<cvref<T>>>* = nullptr>
741
    /*implicit*/ constexpr function_ref(F&& f) noexcept
742
        : m_fptr([](storage fn,
743
148M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
148M
              cvref<T> obj = *get<T>(fn);
745
148M
              if constexpr (std::is_void_v<R>) {
746
148M
                  obj(static_cast<decltype(args)>(args)...);
747
148M
              }
748
148M
              else {
749
148M
                  return obj(static_cast<decltype(args)>(args)...);
750
148M
              }
751
148M
          }),
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char) const
Line
Count
Source
743
20.6M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.6M
              cvref<T> obj = *get<T>(fn);
745
20.6M
              if constexpr (std::is_void_v<R>) {
746
20.6M
                  obj(static_cast<decltype(args)>(args)...);
747
20.6M
              }
748
20.6M
              else {
749
20.6M
                  return obj(static_cast<decltype(args)>(args)...);
750
20.6M
              }
751
20.6M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char32_t) const
Line
Count
Source
743
14.4M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.4M
              cvref<T> obj = *get<T>(fn);
745
14.4M
              if constexpr (std::is_void_v<R>) {
746
14.4M
                  obj(static_cast<decltype(args)>(args)...);
747
14.4M
              }
748
14.4M
              else {
749
14.4M
                  return obj(static_cast<decltype(args)>(args)...);
750
14.4M
              }
751
14.4M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
Line
Count
Source
743
6.49M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.49M
              cvref<T> obj = *get<T>(fn);
745
6.49M
              if constexpr (std::is_void_v<R>) {
746
6.49M
                  obj(static_cast<decltype(args)>(args)...);
747
6.49M
              }
748
6.49M
              else {
749
6.49M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.49M
              }
751
6.49M
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
36.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.2k
              cvref<T> obj = *get<T>(fn);
745
36.2k
              if constexpr (std::is_void_v<R>) {
746
36.2k
                  obj(static_cast<decltype(args)>(args)...);
747
36.2k
              }
748
36.2k
              else {
749
36.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.2k
              }
751
36.2k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
802
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
802
              cvref<T> obj = *get<T>(fn);
745
802
              if constexpr (std::is_void_v<R>) {
746
802
                  obj(static_cast<decltype(args)>(args)...);
747
802
              }
748
802
              else {
749
802
                  return obj(static_cast<decltype(args)>(args)...);
750
802
              }
751
802
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
2.47k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.47k
              cvref<T> obj = *get<T>(fn);
745
2.47k
              if constexpr (std::is_void_v<R>) {
746
2.47k
                  obj(static_cast<decltype(args)>(args)...);
747
2.47k
              }
748
2.47k
              else {
749
2.47k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.47k
              }
751
2.47k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
1.23k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.23k
              cvref<T> obj = *get<T>(fn);
745
1.23k
              if constexpr (std::is_void_v<R>) {
746
1.23k
                  obj(static_cast<decltype(args)>(args)...);
747
1.23k
              }
748
1.23k
              else {
749
1.23k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.23k
              }
751
1.23k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
72.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
72.8k
              cvref<T> obj = *get<T>(fn);
745
72.8k
              if constexpr (std::is_void_v<R>) {
746
72.8k
                  obj(static_cast<decltype(args)>(args)...);
747
72.8k
              }
748
72.8k
              else {
749
72.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
72.8k
              }
751
72.8k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
20.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.6k
              cvref<T> obj = *get<T>(fn);
745
20.6k
              if constexpr (std::is_void_v<R>) {
746
20.6k
                  obj(static_cast<decltype(args)>(args)...);
747
20.6k
              }
748
20.6k
              else {
749
20.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
20.6k
              }
751
20.6k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
2.55M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.55M
              cvref<T> obj = *get<T>(fn);
745
2.55M
              if constexpr (std::is_void_v<R>) {
746
2.55M
                  obj(static_cast<decltype(args)>(args)...);
747
2.55M
              }
748
2.55M
              else {
749
2.55M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.55M
              }
751
2.55M
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
351k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
351k
              cvref<T> obj = *get<T>(fn);
745
351k
              if constexpr (std::is_void_v<R>) {
746
351k
                  obj(static_cast<decltype(args)>(args)...);
747
351k
              }
748
351k
              else {
749
351k
                  return obj(static_cast<decltype(args)>(args)...);
750
351k
              }
751
351k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
8.42M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8.42M
              cvref<T> obj = *get<T>(fn);
745
8.42M
              if constexpr (std::is_void_v<R>) {
746
8.42M
                  obj(static_cast<decltype(args)>(args)...);
747
8.42M
              }
748
8.42M
              else {
749
8.42M
                  return obj(static_cast<decltype(args)>(args)...);
750
8.42M
              }
751
8.42M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
185k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
185k
              cvref<T> obj = *get<T>(fn);
745
185k
              if constexpr (std::is_void_v<R>) {
746
185k
                  obj(static_cast<decltype(args)>(args)...);
747
185k
              }
748
185k
              else {
749
185k
                  return obj(static_cast<decltype(args)>(args)...);
750
185k
              }
751
185k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
4
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4
              cvref<T> obj = *get<T>(fn);
745
4
              if constexpr (std::is_void_v<R>) {
746
4
                  obj(static_cast<decltype(args)>(args)...);
747
4
              }
748
4
              else {
749
4
                  return obj(static_cast<decltype(args)>(args)...);
750
4
              }
751
4
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
266
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
266
              cvref<T> obj = *get<T>(fn);
745
266
              if constexpr (std::is_void_v<R>) {
746
266
                  obj(static_cast<decltype(args)>(args)...);
747
266
              }
748
266
              else {
749
266
                  return obj(static_cast<decltype(args)>(args)...);
750
266
              }
751
266
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
61.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
61.8k
              cvref<T> obj = *get<T>(fn);
745
61.8k
              if constexpr (std::is_void_v<R>) {
746
61.8k
                  obj(static_cast<decltype(args)>(args)...);
747
61.8k
              }
748
61.8k
              else {
749
61.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
61.8k
              }
751
61.8k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
20.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.5k
              cvref<T> obj = *get<T>(fn);
745
20.5k
              if constexpr (std::is_void_v<R>) {
746
20.5k
                  obj(static_cast<decltype(args)>(args)...);
747
20.5k
              }
748
20.5k
              else {
749
20.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
20.5k
              }
751
20.5k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clESW_c
Line
Count
Source
743
80.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
80.6k
              cvref<T> obj = *get<T>(fn);
745
80.6k
              if constexpr (std::is_void_v<R>) {
746
80.6k
                  obj(static_cast<decltype(args)>(args)...);
747
80.6k
              }
748
80.6k
              else {
749
80.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
80.6k
              }
751
80.6k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
2.70M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.70M
              cvref<T> obj = *get<T>(fn);
745
2.70M
              if constexpr (std::is_void_v<R>) {
746
2.70M
                  obj(static_cast<decltype(args)>(args)...);
747
2.70M
              }
748
2.70M
              else {
749
2.70M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.70M
              }
751
2.70M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
161k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
161k
              cvref<T> obj = *get<T>(fn);
745
161k
              if constexpr (std::is_void_v<R>) {
746
161k
                  obj(static_cast<decltype(args)>(args)...);
747
161k
              }
748
161k
              else {
749
161k
                  return obj(static_cast<decltype(args)>(args)...);
750
161k
              }
751
161k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
76.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
76.5k
              cvref<T> obj = *get<T>(fn);
745
76.5k
              if constexpr (std::is_void_v<R>) {
746
76.5k
                  obj(static_cast<decltype(args)>(args)...);
747
76.5k
              }
748
76.5k
              else {
749
76.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
76.5k
              }
751
76.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
191k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
191k
              cvref<T> obj = *get<T>(fn);
745
191k
              if constexpr (std::is_void_v<R>) {
746
191k
                  obj(static_cast<decltype(args)>(args)...);
747
191k
              }
748
191k
              else {
749
191k
                  return obj(static_cast<decltype(args)>(args)...);
750
191k
              }
751
191k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8
              cvref<T> obj = *get<T>(fn);
745
8
              if constexpr (std::is_void_v<R>) {
746
8
                  obj(static_cast<decltype(args)>(args)...);
747
8
              }
748
8
              else {
749
8
                  return obj(static_cast<decltype(args)>(args)...);
750
8
              }
751
8
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
262
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
262
              cvref<T> obj = *get<T>(fn);
745
262
              if constexpr (std::is_void_v<R>) {
746
262
                  obj(static_cast<decltype(args)>(args)...);
747
262
              }
748
262
              else {
749
262
                  return obj(static_cast<decltype(args)>(args)...);
750
262
              }
751
262
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
64.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
64.5k
              cvref<T> obj = *get<T>(fn);
745
64.5k
              if constexpr (std::is_void_v<R>) {
746
64.5k
                  obj(static_cast<decltype(args)>(args)...);
747
64.5k
              }
748
64.5k
              else {
749
64.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
64.5k
              }
751
64.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
166k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
166k
              cvref<T> obj = *get<T>(fn);
745
166k
              if constexpr (std::is_void_v<R>) {
746
166k
                  obj(static_cast<decltype(args)>(args)...);
747
166k
              }
748
166k
              else {
749
166k
                  return obj(static_cast<decltype(args)>(args)...);
750
166k
              }
751
166k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
77.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
77.6k
              cvref<T> obj = *get<T>(fn);
745
77.6k
              if constexpr (std::is_void_v<R>) {
746
77.6k
                  obj(static_cast<decltype(args)>(args)...);
747
77.6k
              }
748
77.6k
              else {
749
77.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
77.6k
              }
751
77.6k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
193k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
193k
              cvref<T> obj = *get<T>(fn);
745
193k
              if constexpr (std::is_void_v<R>) {
746
193k
                  obj(static_cast<decltype(args)>(args)...);
747
193k
              }
748
193k
              else {
749
193k
                  return obj(static_cast<decltype(args)>(args)...);
750
193k
              }
751
193k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
65.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
65.6k
              cvref<T> obj = *get<T>(fn);
745
65.6k
              if constexpr (std::is_void_v<R>) {
746
65.6k
                  obj(static_cast<decltype(args)>(args)...);
747
65.6k
              }
748
65.6k
              else {
749
65.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
65.6k
              }
751
65.6k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
167k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
167k
              cvref<T> obj = *get<T>(fn);
745
167k
              if constexpr (std::is_void_v<R>) {
746
167k
                  obj(static_cast<decltype(args)>(args)...);
747
167k
              }
748
167k
              else {
749
167k
                  return obj(static_cast<decltype(args)>(args)...);
750
167k
              }
751
167k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
944k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
944k
              cvref<T> obj = *get<T>(fn);
745
944k
              if constexpr (std::is_void_v<R>) {
746
944k
                  obj(static_cast<decltype(args)>(args)...);
747
944k
              }
748
944k
              else {
749
944k
                  return obj(static_cast<decltype(args)>(args)...);
750
944k
              }
751
944k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
7.12k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.12k
              cvref<T> obj = *get<T>(fn);
745
7.12k
              if constexpr (std::is_void_v<R>) {
746
7.12k
                  obj(static_cast<decltype(args)>(args)...);
747
7.12k
              }
748
7.12k
              else {
749
7.12k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.12k
              }
751
7.12k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
8.82k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8.82k
              cvref<T> obj = *get<T>(fn);
745
8.82k
              if constexpr (std::is_void_v<R>) {
746
8.82k
                  obj(static_cast<decltype(args)>(args)...);
747
8.82k
              }
748
8.82k
              else {
749
8.82k
                  return obj(static_cast<decltype(args)>(args)...);
750
8.82k
              }
751
8.82k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
782
              cvref<T> obj = *get<T>(fn);
745
782
              if constexpr (std::is_void_v<R>) {
746
782
                  obj(static_cast<decltype(args)>(args)...);
747
782
              }
748
782
              else {
749
782
                  return obj(static_cast<decltype(args)>(args)...);
750
782
              }
751
782
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
10.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10.3k
              cvref<T> obj = *get<T>(fn);
745
10.3k
              if constexpr (std::is_void_v<R>) {
746
10.3k
                  obj(static_cast<decltype(args)>(args)...);
747
10.3k
              }
748
10.3k
              else {
749
10.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
10.3k
              }
751
10.3k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
5.32k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.32k
              cvref<T> obj = *get<T>(fn);
745
5.32k
              if constexpr (std::is_void_v<R>) {
746
5.32k
                  obj(static_cast<decltype(args)>(args)...);
747
5.32k
              }
748
5.32k
              else {
749
5.32k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.32k
              }
751
5.32k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
442
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
442
              cvref<T> obj = *get<T>(fn);
745
442
              if constexpr (std::is_void_v<R>) {
746
442
                  obj(static_cast<decltype(args)>(args)...);
747
442
              }
748
442
              else {
749
442
                  return obj(static_cast<decltype(args)>(args)...);
750
442
              }
751
442
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
260k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
260k
              cvref<T> obj = *get<T>(fn);
745
260k
              if constexpr (std::is_void_v<R>) {
746
260k
                  obj(static_cast<decltype(args)>(args)...);
747
260k
              }
748
260k
              else {
749
260k
                  return obj(static_cast<decltype(args)>(args)...);
750
260k
              }
751
260k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
17.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
17.7k
              cvref<T> obj = *get<T>(fn);
745
17.7k
              if constexpr (std::is_void_v<R>) {
746
17.7k
                  obj(static_cast<decltype(args)>(args)...);
747
17.7k
              }
748
17.7k
              else {
749
17.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
17.7k
              }
751
17.7k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
782
              cvref<T> obj = *get<T>(fn);
745
782
              if constexpr (std::is_void_v<R>) {
746
782
                  obj(static_cast<decltype(args)>(args)...);
747
782
              }
748
782
              else {
749
782
                  return obj(static_cast<decltype(args)>(args)...);
750
782
              }
751
782
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
442
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
442
              cvref<T> obj = *get<T>(fn);
745
442
              if constexpr (std::is_void_v<R>) {
746
442
                  obj(static_cast<decltype(args)>(args)...);
747
442
              }
748
442
              else {
749
442
                  return obj(static_cast<decltype(args)>(args)...);
750
442
              }
751
442
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
782
              cvref<T> obj = *get<T>(fn);
745
782
              if constexpr (std::is_void_v<R>) {
746
782
                  obj(static_cast<decltype(args)>(args)...);
747
782
              }
748
782
              else {
749
782
                  return obj(static_cast<decltype(args)>(args)...);
750
782
              }
751
782
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Line
Count
Source
743
442
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
442
              cvref<T> obj = *get<T>(fn);
745
442
              if constexpr (std::is_void_v<R>) {
746
442
                  obj(static_cast<decltype(args)>(args)...);
747
442
              }
748
442
              else {
749
442
                  return obj(static_cast<decltype(args)>(args)...);
750
442
              }
751
442
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
6.83M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.83M
              cvref<T> obj = *get<T>(fn);
745
6.83M
              if constexpr (std::is_void_v<R>) {
746
6.83M
                  obj(static_cast<decltype(args)>(args)...);
747
6.83M
              }
748
6.83M
              else {
749
6.83M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.83M
              }
751
6.83M
          }),
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, wchar_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, wchar_t) const
Line
Count
Source
743
1.91M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.91M
              cvref<T> obj = *get<T>(fn);
745
1.91M
              if constexpr (std::is_void_v<R>) {
746
1.91M
                  obj(static_cast<decltype(args)>(args)...);
747
1.91M
              }
748
1.91M
              else {
749
1.91M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.91M
              }
751
1.91M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
Line
Count
Source
743
314k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
314k
              cvref<T> obj = *get<T>(fn);
745
314k
              if constexpr (std::is_void_v<R>) {
746
314k
                  obj(static_cast<decltype(args)>(args)...);
747
314k
              }
748
314k
              else {
749
314k
                  return obj(static_cast<decltype(args)>(args)...);
750
314k
              }
751
314k
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
7.12k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.12k
              cvref<T> obj = *get<T>(fn);
745
7.12k
              if constexpr (std::is_void_v<R>) {
746
7.12k
                  obj(static_cast<decltype(args)>(args)...);
747
7.12k
              }
748
7.12k
              else {
749
7.12k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.12k
              }
751
7.12k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
3.53k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.53k
              cvref<T> obj = *get<T>(fn);
745
3.53k
              if constexpr (std::is_void_v<R>) {
746
3.53k
                  obj(static_cast<decltype(args)>(args)...);
747
3.53k
              }
748
3.53k
              else {
749
3.53k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.53k
              }
751
3.53k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
362
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
362
              cvref<T> obj = *get<T>(fn);
745
362
              if constexpr (std::is_void_v<R>) {
746
362
                  obj(static_cast<decltype(args)>(args)...);
747
362
              }
748
362
              else {
749
362
                  return obj(static_cast<decltype(args)>(args)...);
750
362
              }
751
362
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
1.11k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.11k
              cvref<T> obj = *get<T>(fn);
745
1.11k
              if constexpr (std::is_void_v<R>) {
746
1.11k
                  obj(static_cast<decltype(args)>(args)...);
747
1.11k
              }
748
1.11k
              else {
749
1.11k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.11k
              }
751
1.11k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
162
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
162
              cvref<T> obj = *get<T>(fn);
745
162
              if constexpr (std::is_void_v<R>) {
746
162
                  obj(static_cast<decltype(args)>(args)...);
747
162
              }
748
162
              else {
749
162
                  return obj(static_cast<decltype(args)>(args)...);
750
162
              }
751
162
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
4.48M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.48M
              cvref<T> obj = *get<T>(fn);
745
4.48M
              if constexpr (std::is_void_v<R>) {
746
4.48M
                  obj(static_cast<decltype(args)>(args)...);
747
4.48M
              }
748
4.48M
              else {
749
4.48M
                  return obj(static_cast<decltype(args)>(args)...);
750
4.48M
              }
751
4.48M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
25.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
25.5k
              cvref<T> obj = *get<T>(fn);
745
25.5k
              if constexpr (std::is_void_v<R>) {
746
25.5k
                  obj(static_cast<decltype(args)>(args)...);
747
25.5k
              }
748
25.5k
              else {
749
25.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
25.5k
              }
751
25.5k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
221k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
221k
              cvref<T> obj = *get<T>(fn);
745
221k
              if constexpr (std::is_void_v<R>) {
746
221k
                  obj(static_cast<decltype(args)>(args)...);
747
221k
              }
748
221k
              else {
749
221k
                  return obj(static_cast<decltype(args)>(args)...);
750
221k
              }
751
221k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
29.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
29.2k
              cvref<T> obj = *get<T>(fn);
745
29.2k
              if constexpr (std::is_void_v<R>) {
746
29.2k
                  obj(static_cast<decltype(args)>(args)...);
747
29.2k
              }
748
29.2k
              else {
749
29.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
29.2k
              }
751
29.2k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
912k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
912k
              cvref<T> obj = *get<T>(fn);
745
912k
              if constexpr (std::is_void_v<R>) {
746
912k
                  obj(static_cast<decltype(args)>(args)...);
747
912k
              }
748
912k
              else {
749
912k
                  return obj(static_cast<decltype(args)>(args)...);
750
912k
              }
751
912k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
87.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
87.0k
              cvref<T> obj = *get<T>(fn);
745
87.0k
              if constexpr (std::is_void_v<R>) {
746
87.0k
                  obj(static_cast<decltype(args)>(args)...);
747
87.0k
              }
748
87.0k
              else {
749
87.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
87.0k
              }
751
87.0k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
114
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
114
              cvref<T> obj = *get<T>(fn);
745
114
              if constexpr (std::is_void_v<R>) {
746
114
                  obj(static_cast<decltype(args)>(args)...);
747
114
              }
748
114
              else {
749
114
                  return obj(static_cast<decltype(args)>(args)...);
750
114
              }
751
114
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
25.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
25.5k
              cvref<T> obj = *get<T>(fn);
745
25.5k
              if constexpr (std::is_void_v<R>) {
746
25.5k
                  obj(static_cast<decltype(args)>(args)...);
747
25.5k
              }
748
25.5k
              else {
749
25.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
25.5k
              }
751
25.5k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clESW_w
Line
Count
Source
743
10.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10.0k
              cvref<T> obj = *get<T>(fn);
745
10.0k
              if constexpr (std::is_void_v<R>) {
746
10.0k
                  obj(static_cast<decltype(args)>(args)...);
747
10.0k
              }
748
10.0k
              else {
749
10.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
10.0k
              }
751
10.0k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Line
Count
Source
743
412k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
412k
              cvref<T> obj = *get<T>(fn);
745
412k
              if constexpr (std::is_void_v<R>) {
746
412k
                  obj(static_cast<decltype(args)>(args)...);
747
412k
              }
748
412k
              else {
749
412k
                  return obj(static_cast<decltype(args)>(args)...);
750
412k
              }
751
412k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
87.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
87.1k
              cvref<T> obj = *get<T>(fn);
745
87.1k
              if constexpr (std::is_void_v<R>) {
746
87.1k
                  obj(static_cast<decltype(args)>(args)...);
747
87.1k
              }
748
87.1k
              else {
749
87.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
87.1k
              }
751
87.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
27.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.1k
              cvref<T> obj = *get<T>(fn);
745
27.1k
              if constexpr (std::is_void_v<R>) {
746
27.1k
                  obj(static_cast<decltype(args)>(args)...);
747
27.1k
              }
748
27.1k
              else {
749
27.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.1k
              }
751
27.1k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
88.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
88.7k
              cvref<T> obj = *get<T>(fn);
745
88.7k
              if constexpr (std::is_void_v<R>) {
746
88.7k
                  obj(static_cast<decltype(args)>(args)...);
747
88.7k
              }
748
88.7k
              else {
749
88.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
88.7k
              }
751
88.7k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
114
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
114
              cvref<T> obj = *get<T>(fn);
745
114
              if constexpr (std::is_void_v<R>) {
746
114
                  obj(static_cast<decltype(args)>(args)...);
747
114
              }
748
114
              else {
749
114
                  return obj(static_cast<decltype(args)>(args)...);
750
114
              }
751
114
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
27.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.2k
              cvref<T> obj = *get<T>(fn);
745
27.2k
              if constexpr (std::is_void_v<R>) {
746
27.2k
                  obj(static_cast<decltype(args)>(args)...);
747
27.2k
              }
748
27.2k
              else {
749
27.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.2k
              }
751
27.2k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
89.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
89.1k
              cvref<T> obj = *get<T>(fn);
745
89.1k
              if constexpr (std::is_void_v<R>) {
746
89.1k
                  obj(static_cast<decltype(args)>(args)...);
747
89.1k
              }
748
89.1k
              else {
749
89.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
89.1k
              }
751
89.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
27.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.9k
              cvref<T> obj = *get<T>(fn);
745
27.9k
              if constexpr (std::is_void_v<R>) {
746
27.9k
                  obj(static_cast<decltype(args)>(args)...);
747
27.9k
              }
748
27.9k
              else {
749
27.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.9k
              }
751
27.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
89.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
89.5k
              cvref<T> obj = *get<T>(fn);
745
89.5k
              if constexpr (std::is_void_v<R>) {
746
89.5k
                  obj(static_cast<decltype(args)>(args)...);
747
89.5k
              }
748
89.5k
              else {
749
89.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
89.5k
              }
751
89.5k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
27.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.9k
              cvref<T> obj = *get<T>(fn);
745
27.9k
              if constexpr (std::is_void_v<R>) {
746
27.9k
                  obj(static_cast<decltype(args)>(args)...);
747
27.9k
              }
748
27.9k
              else {
749
27.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.9k
              }
751
27.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
89.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
89.6k
              cvref<T> obj = *get<T>(fn);
745
89.6k
              if constexpr (std::is_void_v<R>) {
746
89.6k
                  obj(static_cast<decltype(args)>(args)...);
747
89.6k
              }
748
89.6k
              else {
749
89.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
89.6k
              }
751
89.6k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
23.2M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
23.2M
              cvref<T> obj = *get<T>(fn);
745
23.2M
              if constexpr (std::is_void_v<R>) {
746
23.2M
                  obj(static_cast<decltype(args)>(args)...);
747
23.2M
              }
748
23.2M
              else {
749
23.2M
                  return obj(static_cast<decltype(args)>(args)...);
750
23.2M
              }
751
23.2M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
4.19k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.19k
              cvref<T> obj = *get<T>(fn);
745
4.19k
              if constexpr (std::is_void_v<R>) {
746
4.19k
                  obj(static_cast<decltype(args)>(args)...);
747
4.19k
              }
748
4.19k
              else {
749
4.19k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.19k
              }
751
4.19k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
7.05k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.05k
              cvref<T> obj = *get<T>(fn);
745
7.05k
              if constexpr (std::is_void_v<R>) {
746
7.05k
                  obj(static_cast<decltype(args)>(args)...);
747
7.05k
              }
748
7.05k
              else {
749
7.05k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.05k
              }
751
7.05k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
350
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350
              cvref<T> obj = *get<T>(fn);
745
350
              if constexpr (std::is_void_v<R>) {
746
350
                  obj(static_cast<decltype(args)>(args)...);
747
350
              }
748
350
              else {
749
350
                  return obj(static_cast<decltype(args)>(args)...);
750
350
              }
751
350
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
456
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
456
              cvref<T> obj = *get<T>(fn);
745
456
              if constexpr (std::is_void_v<R>) {
746
456
                  obj(static_cast<decltype(args)>(args)...);
747
456
              }
748
456
              else {
749
456
                  return obj(static_cast<decltype(args)>(args)...);
750
456
              }
751
456
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
204
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
204
              cvref<T> obj = *get<T>(fn);
745
204
              if constexpr (std::is_void_v<R>) {
746
204
                  obj(static_cast<decltype(args)>(args)...);
747
204
              }
748
204
              else {
749
204
                  return obj(static_cast<decltype(args)>(args)...);
750
204
              }
751
204
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
46.5M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
46.5M
              cvref<T> obj = *get<T>(fn);
745
46.5M
              if constexpr (std::is_void_v<R>) {
746
46.5M
                  obj(static_cast<decltype(args)>(args)...);
747
46.5M
              }
748
46.5M
              else {
749
46.5M
                  return obj(static_cast<decltype(args)>(args)...);
750
46.5M
              }
751
46.5M
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
536
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
536
              cvref<T> obj = *get<T>(fn);
745
536
              if constexpr (std::is_void_v<R>) {
746
536
                  obj(static_cast<decltype(args)>(args)...);
747
536
              }
748
536
              else {
749
536
                  return obj(static_cast<decltype(args)>(args)...);
750
536
              }
751
536
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
3.93k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.93k
              cvref<T> obj = *get<T>(fn);
745
3.93k
              if constexpr (std::is_void_v<R>) {
746
3.93k
                  obj(static_cast<decltype(args)>(args)...);
747
3.93k
              }
748
3.93k
              else {
749
3.93k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.93k
              }
751
3.93k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
9.57k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
9.57k
              cvref<T> obj = *get<T>(fn);
745
9.57k
              if constexpr (std::is_void_v<R>) {
746
9.57k
                  obj(static_cast<decltype(args)>(args)...);
747
9.57k
              }
748
9.57k
              else {
749
9.57k
                  return obj(static_cast<decltype(args)>(args)...);
750
9.57k
              }
751
9.57k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
350
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350
              cvref<T> obj = *get<T>(fn);
745
350
              if constexpr (std::is_void_v<R>) {
746
350
                  obj(static_cast<decltype(args)>(args)...);
747
350
              }
748
350
              else {
749
350
                  return obj(static_cast<decltype(args)>(args)...);
750
350
              }
751
350
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
536
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
536
              cvref<T> obj = *get<T>(fn);
745
536
              if constexpr (std::is_void_v<R>) {
746
536
                  obj(static_cast<decltype(args)>(args)...);
747
536
              }
748
536
              else {
749
536
                  return obj(static_cast<decltype(args)>(args)...);
750
536
              }
751
536
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
350
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350
              cvref<T> obj = *get<T>(fn);
745
350
              if constexpr (std::is_void_v<R>) {
746
350
                  obj(static_cast<decltype(args)>(args)...);
747
350
              }
748
350
              else {
749
350
                  return obj(static_cast<decltype(args)>(args)...);
750
350
              }
751
350
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Line
Count
Source
743
536
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
536
              cvref<T> obj = *get<T>(fn);
745
536
              if constexpr (std::is_void_v<R>) {
746
536
                  obj(static_cast<decltype(args)>(args)...);
747
536
              }
748
536
              else {
749
536
                  return obj(static_cast<decltype(args)>(args)...);
750
536
              }
751
536
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
2.80M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.80M
              cvref<T> obj = *get<T>(fn);
745
2.80M
              if constexpr (std::is_void_v<R>) {
746
2.80M
                  obj(static_cast<decltype(args)>(args)...);
747
2.80M
              }
748
2.80M
              else {
749
2.80M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.80M
              }
751
2.80M
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
529k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
529k
              cvref<T> obj = *get<T>(fn);
745
529k
              if constexpr (std::is_void_v<R>) {
746
529k
                  obj(static_cast<decltype(args)>(args)...);
747
529k
              }
748
529k
              else {
749
529k
                  return obj(static_cast<decltype(args)>(args)...);
750
529k
              }
751
529k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
92.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
92.8k
              cvref<T> obj = *get<T>(fn);
745
92.8k
              if constexpr (std::is_void_v<R>) {
746
92.8k
                  obj(static_cast<decltype(args)>(args)...);
747
92.8k
              }
748
92.8k
              else {
749
92.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
92.8k
              }
751
92.8k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
97.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
97.4k
              cvref<T> obj = *get<T>(fn);
745
97.4k
              if constexpr (std::is_void_v<R>) {
746
97.4k
                  obj(static_cast<decltype(args)>(args)...);
747
97.4k
              }
748
97.4k
              else {
749
97.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
97.4k
              }
751
97.4k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
98.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
98.4k
              cvref<T> obj = *get<T>(fn);
745
98.4k
              if constexpr (std::is_void_v<R>) {
746
98.4k
                  obj(static_cast<decltype(args)>(args)...);
747
98.4k
              }
748
98.4k
              else {
749
98.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
98.4k
              }
751
98.4k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
100k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
100k
              cvref<T> obj = *get<T>(fn);
745
100k
              if constexpr (std::is_void_v<R>) {
746
100k
                  obj(static_cast<decltype(args)>(args)...);
747
100k
              }
748
100k
              else {
749
100k
                  return obj(static_cast<decltype(args)>(args)...);
750
100k
              }
751
100k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
104k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
104k
              cvref<T> obj = *get<T>(fn);
745
104k
              if constexpr (std::is_void_v<R>) {
746
104k
                  obj(static_cast<decltype(args)>(args)...);
747
104k
              }
748
104k
              else {
749
104k
                  return obj(static_cast<decltype(args)>(args)...);
750
104k
              }
751
104k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
106k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
106k
              cvref<T> obj = *get<T>(fn);
745
106k
              if constexpr (std::is_void_v<R>) {
746
106k
                  obj(static_cast<decltype(args)>(args)...);
747
106k
              }
748
106k
              else {
749
106k
                  return obj(static_cast<decltype(args)>(args)...);
750
106k
              }
751
106k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
784
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
784
              cvref<T> obj = *get<T>(fn);
745
784
              if constexpr (std::is_void_v<R>) {
746
784
                  obj(static_cast<decltype(args)>(args)...);
747
784
              }
748
784
              else {
749
784
                  return obj(static_cast<decltype(args)>(args)...);
750
784
              }
751
784
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
3.02k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.02k
              cvref<T> obj = *get<T>(fn);
745
3.02k
              if constexpr (std::is_void_v<R>) {
746
3.02k
                  obj(static_cast<decltype(args)>(args)...);
747
3.02k
              }
748
3.02k
              else {
749
3.02k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.02k
              }
751
3.02k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
38.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
38.3k
              cvref<T> obj = *get<T>(fn);
745
38.3k
              if constexpr (std::is_void_v<R>) {
746
38.3k
                  obj(static_cast<decltype(args)>(args)...);
747
38.3k
              }
748
38.3k
              else {
749
38.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
38.3k
              }
751
38.3k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
41.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
41.2k
              cvref<T> obj = *get<T>(fn);
745
41.2k
              if constexpr (std::is_void_v<R>) {
746
41.2k
                  obj(static_cast<decltype(args)>(args)...);
747
41.2k
              }
748
41.2k
              else {
749
41.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
41.2k
              }
751
41.2k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
41.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
41.9k
              cvref<T> obj = *get<T>(fn);
745
41.9k
              if constexpr (std::is_void_v<R>) {
746
41.9k
                  obj(static_cast<decltype(args)>(args)...);
747
41.9k
              }
748
41.9k
              else {
749
41.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
41.9k
              }
751
41.9k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
280
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
280
              cvref<T> obj = *get<T>(fn);
745
280
              if constexpr (std::is_void_v<R>) {
746
280
                  obj(static_cast<decltype(args)>(args)...);
747
280
              }
748
280
              else {
749
280
                  return obj(static_cast<decltype(args)>(args)...);
750
280
              }
751
280
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
796
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
796
              cvref<T> obj = *get<T>(fn);
745
796
              if constexpr (std::is_void_v<R>) {
746
796
                  obj(static_cast<decltype(args)>(args)...);
747
796
              }
748
796
              else {
749
796
                  return obj(static_cast<decltype(args)>(args)...);
750
796
              }
751
796
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
38.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
38.2k
              cvref<T> obj = *get<T>(fn);
745
38.2k
              if constexpr (std::is_void_v<R>) {
746
38.2k
                  obj(static_cast<decltype(args)>(args)...);
747
38.2k
              }
748
38.2k
              else {
749
38.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
38.2k
              }
751
38.2k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
40.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.7k
              cvref<T> obj = *get<T>(fn);
745
40.7k
              if constexpr (std::is_void_v<R>) {
746
40.7k
                  obj(static_cast<decltype(args)>(args)...);
747
40.7k
              }
748
40.7k
              else {
749
40.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.7k
              }
751
40.7k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
41.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
41.9k
              cvref<T> obj = *get<T>(fn);
745
41.9k
              if constexpr (std::is_void_v<R>) {
746
41.9k
                  obj(static_cast<decltype(args)>(args)...);
747
41.9k
              }
748
41.9k
              else {
749
41.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
41.9k
              }
751
41.9k
          }),
752
          m_storage(std::addressof(f))
753
31.3M
    {
754
31.3M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)
Line
Count
Source
753
4.38M
    {
754
4.38M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)
Line
Count
Source
753
7.06M
    {
754
7.06M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_
Line
Count
Source
753
1.65M
    {
754
1.65M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
22.6k
    {
754
22.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_
Line
Count
Source
753
802
    {
754
802
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Line
Count
Source
753
2.04k
    {
754
2.04k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
468
    {
754
468
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
72.8k
    {
754
72.8k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_
Line
Count
Source
753
2.44k
    {
754
2.44k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
502k
    {
754
502k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_
Line
Count
Source
753
113k
    {
754
113k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
1.55M
    {
754
1.55M
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
185k
    {
754
185k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
4
    {
754
4
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
266
    {
754
266
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
61.8k
    {
754
61.8k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_
Line
Count
Source
753
2.41k
    {
754
2.41k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_
Line
Count
Source
753
27.8k
    {
754
27.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
523k
    {
754
523k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
161k
    {
754
161k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
76.5k
    {
754
76.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
191k
    {
754
191k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
8
    {
754
8
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
262
    {
754
262
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
64.5k
    {
754
64.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
166k
    {
754
166k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
77.6k
    {
754
77.6k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
193k
    {
754
193k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
65.6k
    {
754
65.6k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
167k
    {
754
167k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
148k
    {
754
148k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_
Line
Count
Source
753
2.77k
    {
754
2.77k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
738
    {
754
738
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Line
Count
Source
753
330
    {
754
330
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_
Line
Count
Source
753
294
    {
754
294
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
30
    {
754
30
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
2.35k
    {
754
2.35k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_
Line
Count
Source
753
5.82k
    {
754
5.82k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
30
    {
754
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
30
    {
754
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
3.24M
    {
754
3.24M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)
Line
Count
Source
753
1.39M
    {
754
1.39M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_
Line
Count
Source
753
303k
    {
754
303k
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
3.52k
    {
754
3.52k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
3.36k
    {
754
3.36k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_
Line
Count
Source
753
362
    {
754
362
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Line
Count
Source
753
520
    {
754
520
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
162
    {
754
162
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
2.26M
    {
754
2.26M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
25.5k
    {
754
25.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
145k
    {
754
145k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_
Line
Count
Source
753
8.71k
    {
754
8.71k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
630k
    {
754
630k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
87.0k
    {
754
87.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
6
    {
754
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
114
    {
754
114
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
25.5k
    {
754
25.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_
Line
Count
Source
753
3.03k
    {
754
3.03k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
289k
    {
754
289k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
87.1k
    {
754
87.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
27.1k
    {
754
27.1k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
88.7k
    {
754
88.7k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
6
    {
754
6
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
114
    {
754
114
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
27.2k
    {
754
27.2k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
89.1k
    {
754
89.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
27.9k
    {
754
27.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
89.5k
    {
754
89.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
27.9k
    {
754
27.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
89.6k
    {
754
89.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
716k
    {
754
716k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_
Line
Count
Source
753
3.94k
    {
754
3.94k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
312
    {
754
312
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Line
Count
Source
753
108
    {
754
108
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_
Line
Count
Source
753
72
    {
754
72
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
1.43M
    {
754
1.43M
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
42
    {
754
42
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
258
    {
754
258
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_
Line
Count
Source
753
7.97k
    {
754
7.97k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
42
    {
754
42
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
42
    {
754
42
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
1.54M
    {
754
1.54M
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
289k
    {
754
289k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
92.8k
    {
754
92.8k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
97.4k
    {
754
97.4k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
98.4k
    {
754
98.4k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
100k
    {
754
100k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
104k
    {
754
104k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
106k
    {
754
106k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_
Line
Count
Source
753
476
    {
754
476
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
1.94k
    {
754
1.94k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
38.3k
    {
754
38.3k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
41.2k
    {
754
41.2k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
41.9k
    {
754
41.9k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_
Line
Count
Source
753
234
    {
754
234
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
796
    {
754
796
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
38.2k
    {
754
38.2k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
40.7k
    {
754
40.7k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
41.9k
    {
754
41.9k
    }
755
756
    template <typename T,
757
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
758
                               !std::is_pointer_v<T>>* = nullptr>
759
    function_ref& operator=(T) = delete;
760
761
    constexpr R operator()(Args... args) const noexcept(noex)
762
148M
    {
763
148M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
148M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
762
41.3M
    {
763
41.3M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
41.3M
    }
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
100M
    {
763
100M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
100M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
43.4k
    {
763
43.4k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
43.4k
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
1.10M
    {
763
1.10M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
1.10M
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
270
    {
763
270
        return m_fptr(m_storage, SCN_FWD(args)...);
764
270
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
976k
    {
763
976k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
976k
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
762
3.83M
    {
763
3.83M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
3.83M
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
467k
    {
763
467k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
467k
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
120
    {
763
120
        return m_fptr(m_storage, SCN_FWD(args)...);
764
120
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
468k
    {
763
468k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
468k
    }
765
766
private:
767
    fwd_t* m_fptr{nullptr};
768
    storage m_storage;
769
};
770
771
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
772
function_ref(F*) -> function_ref<F>;
773
}  // namespace impl
774
775
/////////////////////////////////////////////////////////////////
776
// Internal error types
777
/////////////////////////////////////////////////////////////////
778
779
namespace impl {
780
enum class eof_error { good, eof };
781
782
inline constexpr bool operator!(eof_error e)
783
28.8M
{
784
28.8M
    return e != eof_error::good;
785
28.8M
}
786
787
template <typename T>
788
struct eof_expected : public expected<T, eof_error> {
789
    using base = expected<T, eof_error>;
790
    using base::base;
791
792
    constexpr eof_expected(const base& other) : base(other) {}
793
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
794
};
795
796
inline constexpr auto make_eof_scan_error(eof_error err)
797
105k
{
798
105k
    SCN_EXPECT(err == eof_error::eof);
799
105k
    return scan_error{scan_error::end_of_range, "EOF"};
800
105k
}
801
802
struct SCN_TRIVIAL_ABI parse_error {
803
    enum code { good, eof, error };
804
    using code_t = code;
805
806
    constexpr parse_error() = default;
807
    constexpr parse_error(code c) : m_code(c)
808
40.5M
    {
809
40.5M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
810
40.5M
    }
811
812
    constexpr explicit operator bool() const
813
0
    {
814
0
        return m_code == good;
815
0
    }
816
    constexpr explicit operator code_t() const
817
0
    {
818
0
        return m_code;
819
0
    }
820
821
    friend constexpr bool operator==(parse_error a, parse_error b)
822
14.4M
    {
823
14.4M
        return a.m_code == b.m_code;
824
14.4M
    }
825
    friend constexpr bool operator!=(parse_error a, parse_error b)
826
0
    {
827
0
        return !(a == b);
828
0
    }
829
830
private:
831
    code m_code{good};
832
};
833
834
template <typename T>
835
struct parse_expected : public expected<T, parse_error> {
836
    using base = expected<T, parse_error>;
837
    using base::base;
838
839
    constexpr parse_expected(const base& other) : base(other) {}
840
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
841
};
842
843
inline constexpr parse_error make_eof_parse_error(eof_error err)
844
298k
{
845
298k
    SCN_EXPECT(err == eof_error::eof);
846
298k
    return parse_error::eof;
847
298k
}
848
849
inline constexpr scan_error make_scan_error_from_parse_error(
850
    parse_error err,
851
    enum scan_error::code code,
852
    const char* msg)
853
3.58M
{
854
3.58M
    if (err == parse_error::good) {
855
0
        return {};
856
0
    }
857
858
3.58M
    if (err == parse_error::eof) {
859
73.2k
        return scan_error{scan_error::end_of_range, "EOF"};
860
73.2k
    }
861
862
3.51M
    return scan_error{code, msg};
863
3.58M
}
864
865
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
866
                                                    const char* msg)
867
5.16M
{
868
5.16M
    return [code, msg](parse_error err) {
869
3.58M
        return make_scan_error_from_parse_error(err, code, msg);
870
3.58M
    };
871
5.16M
}
872
}  // namespace impl
873
874
namespace detail {
875
template <typename T>
876
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
877
}  // namespace detail
878
879
/////////////////////////////////////////////////////////////////
880
// Range reading support
881
/////////////////////////////////////////////////////////////////
882
883
namespace impl {
884
#if SCN_MSVC_DEBUG_ITERATORS
885
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
886
#else
887
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
888
#endif
889
890
template <typename T>
891
constexpr bool range_supports_nocopy() noexcept
892
{
893
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
894
    return ranges::contiguous_range<T> ||
895
           (ranges::random_access_range<T> &&
896
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
897
#else
898
    return ranges::contiguous_range<T>;
899
#endif
900
}
901
902
template <typename R>
903
constexpr auto range_nocopy_data(const R& r) noexcept
904
{
905
    static_assert(range_supports_nocopy<R>());
906
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
907
    return detail::to_address(ranges::begin(r));
908
#else
909
    return ranges::data(r);
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_size(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
919
                                                detail::to_address(r.end())));
920
#else
921
    return r.size();
922
#endif
923
}
924
925
template <typename I, typename S>
926
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
927
114M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
114M
    {
937
114M
        return begin == end;
938
114M
    }
939
114M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
18.0M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
18.0M
    {
937
18.0M
        return begin == end;
938
18.0M
    }
939
18.0M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
927
25.4k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
25.4k
    {
937
25.4k
        return begin == end;
938
25.4k
    }
939
25.4k
}
bool scn::v3::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
927
10.5M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
10.5M
    {
937
10.5M
        return begin == end;
938
10.5M
    }
939
10.5M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
29.7M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
29.7M
    {
937
29.7M
        return begin == end;
938
29.7M
    }
939
29.7M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
927
56.4M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
56.4M
    {
937
56.4M
        return begin == end;
938
56.4M
    }
939
56.4M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
927
8.58k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
8.58k
    {
937
8.58k
        return begin == end;
938
8.58k
    }
939
8.58k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
927
4.96k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
4.96k
    {
937
4.96k
        return begin == end;
938
4.96k
    }
939
4.96k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
927
1.59k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
1.59k
    {
937
1.59k
        return begin == end;
938
1.59k
    }
939
1.59k
}
940
941
template <typename Range>
942
SCN_NODISCARD constexpr bool is_range_eof(Range r)
943
114M
{
944
114M
    return is_range_eof(r.begin(), r.end());
945
114M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
18.0M
{
944
18.0M
    return is_range_eof(r.begin(), r.end());
945
18.0M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
943
1.89k
{
944
1.89k
    return is_range_eof(r.begin(), r.end());
945
1.89k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
943
23.5k
{
944
23.5k
    return is_range_eof(r.begin(), r.end());
945
23.5k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
943
10.5M
{
944
10.5M
    return is_range_eof(r.begin(), r.end());
945
10.5M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
29.7M
{
944
29.7M
    return is_range_eof(r.begin(), r.end());
945
29.7M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
943
56.3M
{
944
56.3M
    return is_range_eof(r.begin(), r.end());
945
56.3M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
943
878
{
944
878
    return is_range_eof(r.begin(), r.end());
945
878
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
943
7.70k
{
944
7.70k
    return is_range_eof(r.begin(), r.end());
945
7.70k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
943
4.96k
{
944
4.96k
    return is_range_eof(r.begin(), r.end());
945
4.96k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
943
1.59k
{
944
1.59k
    return is_range_eof(r.begin(), r.end());
945
1.59k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
946
947
template <typename Range>
948
SCN_NODISCARD constexpr eof_error eof_check(Range range)
949
28.8M
{
950
28.8M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
134k
        return eof_error::eof;
952
134k
    }
953
28.7M
    return eof_error::good;
954
28.8M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
10.2M
{
950
10.2M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
64.1k
        return eof_error::eof;
952
64.1k
    }
953
10.2M
    return eof_error::good;
954
10.2M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
949
1.89k
{
950
1.89k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
1.89k
    return eof_error::good;
954
1.89k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
949
34
{
950
34
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
34
    return eof_error::good;
954
34
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
949
10.2M
{
950
10.2M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
48.7k
        return eof_error::eof;
952
48.7k
    }
953
10.1M
    return eof_error::good;
954
10.2M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
3.65M
{
950
3.65M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
10.0k
        return eof_error::eof;
952
10.0k
    }
953
3.64M
    return eof_error::good;
954
3.65M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
949
4.72M
{
950
4.72M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
11.3k
        return eof_error::eof;
952
11.3k
    }
953
4.70M
    return eof_error::good;
954
4.72M
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
949
878
{
950
878
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
878
    return eof_error::good;
954
878
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
949
34
{
950
34
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
34
    return eof_error::good;
954
34
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
949
1.94k
{
950
1.94k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
174
        return eof_error::eof;
952
174
    }
953
1.76k
    return eof_error::good;
954
1.94k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
949
796
{
950
796
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
796
    return eof_error::good;
954
796
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
955
956
template <typename Range>
957
bool is_entire_source_contiguous(Range r)
958
16.6k
{
959
16.6k
    if constexpr (ranges::contiguous_range<Range> &&
960
16.6k
                  ranges::sized_range<Range>) {
961
414
        return true;
962
414
    }
963
414
    else if constexpr (std::is_same_v<
964
414
                           ranges::const_iterator_t<Range>,
965
414
                           typename detail::basic_scan_buffer<
966
414
                               detail::char_t<Range>>::forward_iterator>) {
967
414
        auto beg = r.begin();
968
414
        if (!beg.stores_parent()) {
969
0
            return true;
970
0
        }
971
0
        return beg.parent()->is_contiguous();
972
0
    }
973
414
    else {
974
414
        return false;
975
414
    }
976
16.6k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
958
396
{
959
396
    if constexpr (ranges::contiguous_range<Range> &&
960
396
                  ranges::sized_range<Range>) {
961
396
        return true;
962
396
    }
963
396
    else if constexpr (std::is_same_v<
964
396
                           ranges::const_iterator_t<Range>,
965
396
                           typename detail::basic_scan_buffer<
966
396
                               detail::char_t<Range>>::forward_iterator>) {
967
396
        auto beg = r.begin();
968
396
        if (!beg.stores_parent()) {
969
396
            return true;
970
396
        }
971
396
        return beg.parent()->is_contiguous();
972
396
    }
973
396
    else {
974
396
        return false;
975
396
    }
976
396
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
958
10.7k
{
959
10.7k
    if constexpr (ranges::contiguous_range<Range> &&
960
10.7k
                  ranges::sized_range<Range>) {
961
10.7k
        return true;
962
10.7k
    }
963
10.7k
    else if constexpr (std::is_same_v<
964
10.7k
                           ranges::const_iterator_t<Range>,
965
10.7k
                           typename detail::basic_scan_buffer<
966
10.7k
                               detail::char_t<Range>>::forward_iterator>) {
967
10.7k
        auto beg = r.begin();
968
10.7k
        if (!beg.stores_parent()) {
969
10.7k
            return true;
970
10.7k
        }
971
10.7k
        return beg.parent()->is_contiguous();
972
10.7k
    }
973
10.7k
    else {
974
10.7k
        return false;
975
10.7k
    }
976
10.7k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
958
18
{
959
18
    if constexpr (ranges::contiguous_range<Range> &&
960
18
                  ranges::sized_range<Range>) {
961
18
        return true;
962
18
    }
963
18
    else if constexpr (std::is_same_v<
964
18
                           ranges::const_iterator_t<Range>,
965
18
                           typename detail::basic_scan_buffer<
966
18
                               detail::char_t<Range>>::forward_iterator>) {
967
18
        auto beg = r.begin();
968
18
        if (!beg.stores_parent()) {
969
18
            return true;
970
18
        }
971
18
        return beg.parent()->is_contiguous();
972
18
    }
973
18
    else {
974
18
        return false;
975
18
    }
976
18
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
958
5.56k
{
959
5.56k
    if constexpr (ranges::contiguous_range<Range> &&
960
5.56k
                  ranges::sized_range<Range>) {
961
5.56k
        return true;
962
5.56k
    }
963
5.56k
    else if constexpr (std::is_same_v<
964
5.56k
                           ranges::const_iterator_t<Range>,
965
5.56k
                           typename detail::basic_scan_buffer<
966
5.56k
                               detail::char_t<Range>>::forward_iterator>) {
967
5.56k
        auto beg = r.begin();
968
5.56k
        if (!beg.stores_parent()) {
969
5.56k
            return true;
970
5.56k
        }
971
5.56k
        return beg.parent()->is_contiguous();
972
5.56k
    }
973
5.56k
    else {
974
5.56k
        return false;
975
5.56k
    }
976
5.56k
}
977
978
template <typename Range>
979
bool is_segment_contiguous(Range r)
980
5.03M
{
981
5.03M
    if constexpr (ranges::contiguous_range<Range> &&
982
5.03M
                  ranges::sized_range<Range>) {
983
5.01M
        return true;
984
5.01M
    }
985
5.01M
    else if constexpr (std::is_same_v<
986
5.01M
                           ranges::const_iterator_t<Range>,
987
5.01M
                           typename detail::basic_scan_buffer<
988
5.01M
                               detail::char_t<Range>>::forward_iterator>) {
989
0
        auto beg = r.begin();
990
5.01M
        if (beg.contiguous_segment().empty()) {
991
5.01M
            return false;
992
5.01M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
0
    else {
1006
0
        return false;
1007
0
    }
1008
5.03M
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
3.46M
{
981
3.46M
    if constexpr (ranges::contiguous_range<Range> &&
982
3.46M
                  ranges::sized_range<Range>) {
983
3.46M
        return true;
984
3.46M
    }
985
3.46M
    else if constexpr (std::is_same_v<
986
3.46M
                           ranges::const_iterator_t<Range>,
987
3.46M
                           typename detail::basic_scan_buffer<
988
3.46M
                               detail::char_t<Range>>::forward_iterator>) {
989
3.46M
        auto beg = r.begin();
990
3.46M
        if (beg.contiguous_segment().empty()) {
991
3.46M
            return false;
992
3.46M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
3.46M
    else {
1006
3.46M
        return false;
1007
3.46M
    }
1008
3.46M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
980
10.7k
{
981
10.7k
    if constexpr (ranges::contiguous_range<Range> &&
982
10.7k
                  ranges::sized_range<Range>) {
983
10.7k
        return true;
984
10.7k
    }
985
10.7k
    else if constexpr (std::is_same_v<
986
10.7k
                           ranges::const_iterator_t<Range>,
987
10.7k
                           typename detail::basic_scan_buffer<
988
10.7k
                               detail::char_t<Range>>::forward_iterator>) {
989
10.7k
        auto beg = r.begin();
990
10.7k
        if (beg.contiguous_segment().empty()) {
991
10.7k
            return false;
992
10.7k
        }
993
10.7k
        if constexpr (ranges::common_range<Range>) {
994
10.7k
            return beg.contiguous_segment().end() ==
995
10.7k
                   ranges::end(r).contiguous_segment().end();
996
10.7k
        }
997
10.7k
        else {
998
10.7k
            if (beg.stores_parent()) {
999
10.7k
                return beg.contiguous_segment().end() ==
1000
10.7k
                       beg.parent()->current_view().end();
1001
10.7k
            }
1002
10.7k
            return true;
1003
10.7k
        }
1004
10.7k
    }
1005
10.7k
    else {
1006
10.7k
        return false;
1007
10.7k
    }
1008
10.7k
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
1.54M
{
981
1.54M
    if constexpr (ranges::contiguous_range<Range> &&
982
1.54M
                  ranges::sized_range<Range>) {
983
1.54M
        return true;
984
1.54M
    }
985
1.54M
    else if constexpr (std::is_same_v<
986
1.54M
                           ranges::const_iterator_t<Range>,
987
1.54M
                           typename detail::basic_scan_buffer<
988
1.54M
                               detail::char_t<Range>>::forward_iterator>) {
989
1.54M
        auto beg = r.begin();
990
1.54M
        if (beg.contiguous_segment().empty()) {
991
1.54M
            return false;
992
1.54M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
1.54M
    else {
1006
1.54M
        return false;
1007
1.54M
    }
1008
1.54M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
980
5.56k
{
981
5.56k
    if constexpr (ranges::contiguous_range<Range> &&
982
5.56k
                  ranges::sized_range<Range>) {
983
5.56k
        return true;
984
5.56k
    }
985
5.56k
    else if constexpr (std::is_same_v<
986
5.56k
                           ranges::const_iterator_t<Range>,
987
5.56k
                           typename detail::basic_scan_buffer<
988
5.56k
                               detail::char_t<Range>>::forward_iterator>) {
989
5.56k
        auto beg = r.begin();
990
5.56k
        if (beg.contiguous_segment().empty()) {
991
5.56k
            return false;
992
5.56k
        }
993
5.56k
        if constexpr (ranges::common_range<Range>) {
994
5.56k
            return beg.contiguous_segment().end() ==
995
5.56k
                   ranges::end(r).contiguous_segment().end();
996
5.56k
        }
997
5.56k
        else {
998
5.56k
            if (beg.stores_parent()) {
999
5.56k
                return beg.contiguous_segment().end() ==
1000
5.56k
                       beg.parent()->current_view().end();
1001
5.56k
            }
1002
5.56k
            return true;
1003
5.56k
        }
1004
5.56k
    }
1005
5.56k
    else {
1006
5.56k
        return false;
1007
5.56k
    }
1008
5.56k
}
1009
1010
template <typename Range>
1011
std::size_t contiguous_beginning_size(Range r)
1012
{
1013
    if constexpr (ranges::contiguous_range<Range> &&
1014
                  ranges::sized_range<Range>) {
1015
        return r.size();
1016
    }
1017
    else if constexpr (std::is_same_v<
1018
                           ranges::const_iterator_t<Range>,
1019
                           typename detail::basic_scan_buffer<
1020
                               detail::char_t<Range>>::forward_iterator>) {
1021
        if constexpr (ranges::common_range<Range>) {
1022
            auto seg = r.begin().contiguous_segment();
1023
            auto dist =
1024
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1025
            return std::min(seg.size(), dist);
1026
        }
1027
        else {
1028
            return r.begin().contiguous_segment().size();
1029
        }
1030
    }
1031
    else {
1032
        return false;
1033
    }
1034
}
1035
1036
template <typename Range>
1037
auto get_contiguous_beginning(Range r)
1038
3.60M
{
1039
3.60M
    if constexpr (ranges::contiguous_range<Range> &&
1040
3.60M
                  ranges::sized_range<Range>) {
1041
3.60M
        return r;
1042
3.60M
    }
1043
3.60M
    else if constexpr (std::is_same_v<
1044
3.60M
                           ranges::const_iterator_t<Range>,
1045
3.60M
                           typename detail::basic_scan_buffer<
1046
3.60M
                               detail::char_t<Range>>::forward_iterator>) {
1047
3.60M
        if constexpr (ranges::common_range<Range>) {
1048
3.60M
            auto seg = r.begin().contiguous_segment();
1049
3.60M
            auto dist =
1050
3.60M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
3.60M
            return seg.substr(0, std::min(seg.size(), dist));
1052
3.60M
        }
1053
3.60M
        else {
1054
3.60M
            return r.begin().contiguous_segment();
1055
3.60M
        }
1056
3.60M
    }
1057
3.14k
    else {
1058
3.14k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
3.14k
    }
1060
3.60M
}
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1038
1.20k
{
1039
1.20k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.20k
                  ranges::sized_range<Range>) {
1041
1.20k
        return r;
1042
1.20k
    }
1043
1.20k
    else if constexpr (std::is_same_v<
1044
1.20k
                           ranges::const_iterator_t<Range>,
1045
1.20k
                           typename detail::basic_scan_buffer<
1046
1.20k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.20k
        if constexpr (ranges::common_range<Range>) {
1048
1.20k
            auto seg = r.begin().contiguous_segment();
1049
1.20k
            auto dist =
1050
1.20k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.20k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.20k
        }
1053
1.20k
        else {
1054
1.20k
            return r.begin().contiguous_segment();
1055
1.20k
        }
1056
1.20k
    }
1057
1.20k
    else {
1058
1.20k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.20k
    }
1060
1.20k
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1038
3.60M
{
1039
3.60M
    if constexpr (ranges::contiguous_range<Range> &&
1040
3.60M
                  ranges::sized_range<Range>) {
1041
3.60M
        return r;
1042
3.60M
    }
1043
3.60M
    else if constexpr (std::is_same_v<
1044
3.60M
                           ranges::const_iterator_t<Range>,
1045
3.60M
                           typename detail::basic_scan_buffer<
1046
3.60M
                               detail::char_t<Range>>::forward_iterator>) {
1047
3.60M
        if constexpr (ranges::common_range<Range>) {
1048
3.60M
            auto seg = r.begin().contiguous_segment();
1049
3.60M
            auto dist =
1050
3.60M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
3.60M
            return seg.substr(0, std::min(seg.size(), dist));
1052
3.60M
        }
1053
3.60M
        else {
1054
3.60M
            return r.begin().contiguous_segment();
1055
3.60M
        }
1056
3.60M
    }
1057
3.60M
    else {
1058
3.60M
        return std::basic_string_view<detail::char_t<Range>>{};
1059
3.60M
    }
1060
3.60M
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1038
1.94k
{
1039
1.94k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.94k
                  ranges::sized_range<Range>) {
1041
1.94k
        return r;
1042
1.94k
    }
1043
1.94k
    else if constexpr (std::is_same_v<
1044
1.94k
                           ranges::const_iterator_t<Range>,
1045
1.94k
                           typename detail::basic_scan_buffer<
1046
1.94k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.94k
        if constexpr (ranges::common_range<Range>) {
1048
1.94k
            auto seg = r.begin().contiguous_segment();
1049
1.94k
            auto dist =
1050
1.94k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.94k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.94k
        }
1053
1.94k
        else {
1054
1.94k
            return r.begin().contiguous_segment();
1055
1.94k
        }
1056
1.94k
    }
1057
1.94k
    else {
1058
1.94k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.94k
    }
1060
1.94k
}
1061
1062
template <typename Range>
1063
auto get_as_contiguous(Range r)
1064
16.2k
{
1065
16.2k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
16.2k
    if constexpr (ranges::contiguous_range<Range> &&
1068
16.2k
                  ranges::sized_range<Range>) {
1069
0
        return r;
1070
0
    }
1071
0
    else if constexpr (std::is_same_v<
1072
0
                           ranges::const_iterator_t<Range>,
1073
0
                           typename detail::basic_scan_buffer<
1074
0
                               detail::char_t<Range>>::forward_iterator>) {
1075
0
        if constexpr (ranges::common_range<Range>) {
1076
0
            return detail::make_string_view_from_pointers(
1077
0
                r.begin().to_contiguous_segment_iterator(),
1078
0
                r.end().to_contiguous_segment_iterator());
1079
0
        }
1080
0
        else {
1081
0
            return r.begin().contiguous_segment();
1082
0
        }
1083
0
    }
1084
0
    else {
1085
0
        SCN_EXPECT(false);
1086
0
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
0
        return std::basic_string_view<detail::char_t<Range>>{};
1089
0
    }
1090
16.2k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1064
10.7k
{
1065
10.7k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
10.7k
    if constexpr (ranges::contiguous_range<Range> &&
1068
10.7k
                  ranges::sized_range<Range>) {
1069
10.7k
        return r;
1070
10.7k
    }
1071
10.7k
    else if constexpr (std::is_same_v<
1072
10.7k
                           ranges::const_iterator_t<Range>,
1073
10.7k
                           typename detail::basic_scan_buffer<
1074
10.7k
                               detail::char_t<Range>>::forward_iterator>) {
1075
10.7k
        if constexpr (ranges::common_range<Range>) {
1076
10.7k
            return detail::make_string_view_from_pointers(
1077
10.7k
                r.begin().to_contiguous_segment_iterator(),
1078
10.7k
                r.end().to_contiguous_segment_iterator());
1079
10.7k
        }
1080
10.7k
        else {
1081
10.7k
            return r.begin().contiguous_segment();
1082
10.7k
        }
1083
10.7k
    }
1084
10.7k
    else {
1085
10.7k
        SCN_EXPECT(false);
1086
10.7k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
10.7k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
10.7k
    }
1090
10.7k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
1064
5.56k
{
1065
5.56k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
5.56k
    if constexpr (ranges::contiguous_range<Range> &&
1068
5.56k
                  ranges::sized_range<Range>) {
1069
5.56k
        return r;
1070
5.56k
    }
1071
5.56k
    else if constexpr (std::is_same_v<
1072
5.56k
                           ranges::const_iterator_t<Range>,
1073
5.56k
                           typename detail::basic_scan_buffer<
1074
5.56k
                               detail::char_t<Range>>::forward_iterator>) {
1075
5.56k
        if constexpr (ranges::common_range<Range>) {
1076
5.56k
            return detail::make_string_view_from_pointers(
1077
5.56k
                r.begin().to_contiguous_segment_iterator(),
1078
5.56k
                r.end().to_contiguous_segment_iterator());
1079
5.56k
        }
1080
5.56k
        else {
1081
5.56k
            return r.begin().contiguous_segment();
1082
5.56k
        }
1083
5.56k
    }
1084
5.56k
    else {
1085
5.56k
        SCN_EXPECT(false);
1086
5.56k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
5.56k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
5.56k
    }
1090
5.56k
}
1091
1092
template <typename Range>
1093
std::size_t guaranteed_minimum_size(Range r)
1094
6.42M
{
1095
6.42M
    if constexpr (ranges::sized_range<Range>) {
1096
6.42M
        return r.size();
1097
6.42M
    }
1098
6.42M
    else if constexpr (std::is_same_v<
1099
6.42M
                           ranges::const_iterator_t<Range>,
1100
6.42M
                           typename detail::basic_scan_buffer<
1101
6.42M
                               detail::char_t<Range>>::forward_iterator>) {
1102
6.41M
        if constexpr (ranges::common_range<Range>) {
1103
6.41M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
6.41M
        }
1105
6.41M
        else {
1106
6.41M
            if (r.begin().stores_parent()) {
1107
6.41M
                return static_cast<size_t>(
1108
6.41M
                    r.begin().parent()->chars_available() -
1109
6.41M
                    r.begin().position());
1110
6.41M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
6.41M
        }
1113
6.41M
    }
1114
5.27k
    else {
1115
5.27k
        return 0;
1116
5.27k
    }
1117
6.42M
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
4.91M
{
1095
4.91M
    if constexpr (ranges::sized_range<Range>) {
1096
4.91M
        return r.size();
1097
4.91M
    }
1098
4.91M
    else if constexpr (std::is_same_v<
1099
4.91M
                           ranges::const_iterator_t<Range>,
1100
4.91M
                           typename detail::basic_scan_buffer<
1101
4.91M
                               detail::char_t<Range>>::forward_iterator>) {
1102
4.91M
        if constexpr (ranges::common_range<Range>) {
1103
4.91M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
4.91M
        }
1105
4.91M
        else {
1106
4.91M
            if (r.begin().stores_parent()) {
1107
4.91M
                return static_cast<size_t>(
1108
4.91M
                    r.begin().parent()->chars_available() -
1109
4.91M
                    r.begin().position());
1110
4.91M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
4.91M
        }
1113
4.91M
    }
1114
4.91M
    else {
1115
4.91M
        return 0;
1116
4.91M
    }
1117
4.91M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1094
3.62k
{
1095
3.62k
    if constexpr (ranges::sized_range<Range>) {
1096
3.62k
        return r.size();
1097
3.62k
    }
1098
3.62k
    else if constexpr (std::is_same_v<
1099
3.62k
                           ranges::const_iterator_t<Range>,
1100
3.62k
                           typename detail::basic_scan_buffer<
1101
3.62k
                               detail::char_t<Range>>::forward_iterator>) {
1102
3.62k
        if constexpr (ranges::common_range<Range>) {
1103
3.62k
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
3.62k
        }
1105
3.62k
        else {
1106
3.62k
            if (r.begin().stores_parent()) {
1107
3.62k
                return static_cast<size_t>(
1108
3.62k
                    r.begin().parent()->chars_available() -
1109
3.62k
                    r.begin().position());
1110
3.62k
            }
1111
3.62k
            return r.begin().contiguous_segment().size();
1112
3.62k
        }
1113
3.62k
    }
1114
3.62k
    else {
1115
3.62k
        return 0;
1116
3.62k
    }
1117
3.62k
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
1.50M
{
1095
1.50M
    if constexpr (ranges::sized_range<Range>) {
1096
1.50M
        return r.size();
1097
1.50M
    }
1098
1.50M
    else if constexpr (std::is_same_v<
1099
1.50M
                           ranges::const_iterator_t<Range>,
1100
1.50M
                           typename detail::basic_scan_buffer<
1101
1.50M
                               detail::char_t<Range>>::forward_iterator>) {
1102
1.50M
        if constexpr (ranges::common_range<Range>) {
1103
1.50M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
1.50M
        }
1105
1.50M
        else {
1106
1.50M
            if (r.begin().stores_parent()) {
1107
1.50M
                return static_cast<size_t>(
1108
1.50M
                    r.begin().parent()->chars_available() -
1109
1.50M
                    r.begin().position());
1110
1.50M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
1.50M
        }
1113
1.50M
    }
1114
1.50M
    else {
1115
1.50M
        return 0;
1116
1.50M
    }
1117
1.50M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1094
548
{
1095
548
    if constexpr (ranges::sized_range<Range>) {
1096
548
        return r.size();
1097
548
    }
1098
548
    else if constexpr (std::is_same_v<
1099
548
                           ranges::const_iterator_t<Range>,
1100
548
                           typename detail::basic_scan_buffer<
1101
548
                               detail::char_t<Range>>::forward_iterator>) {
1102
548
        if constexpr (ranges::common_range<Range>) {
1103
548
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
548
        }
1105
548
        else {
1106
548
            if (r.begin().stores_parent()) {
1107
548
                return static_cast<size_t>(
1108
548
                    r.begin().parent()->chars_available() -
1109
548
                    r.begin().position());
1110
548
            }
1111
548
            return r.begin().contiguous_segment().size();
1112
548
        }
1113
548
    }
1114
548
    else {
1115
548
        return 0;
1116
548
    }
1117
548
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1094
214
{
1095
214
    if constexpr (ranges::sized_range<Range>) {
1096
214
        return r.size();
1097
214
    }
1098
214
    else if constexpr (std::is_same_v<
1099
214
                           ranges::const_iterator_t<Range>,
1100
214
                           typename detail::basic_scan_buffer<
1101
214
                               detail::char_t<Range>>::forward_iterator>) {
1102
214
        if constexpr (ranges::common_range<Range>) {
1103
214
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
214
        }
1105
214
        else {
1106
214
            if (r.begin().stores_parent()) {
1107
214
                return static_cast<size_t>(
1108
214
                    r.begin().parent()->chars_available() -
1109
214
                    r.begin().position());
1110
214
            }
1111
214
            return r.begin().contiguous_segment().size();
1112
214
        }
1113
214
    }
1114
214
    else {
1115
214
        return 0;
1116
214
    }
1117
214
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1094
620
{
1095
620
    if constexpr (ranges::sized_range<Range>) {
1096
620
        return r.size();
1097
620
    }
1098
620
    else if constexpr (std::is_same_v<
1099
620
                           ranges::const_iterator_t<Range>,
1100
620
                           typename detail::basic_scan_buffer<
1101
620
                               detail::char_t<Range>>::forward_iterator>) {
1102
620
        if constexpr (ranges::common_range<Range>) {
1103
620
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
620
        }
1105
620
        else {
1106
620
            if (r.begin().stores_parent()) {
1107
620
                return static_cast<size_t>(
1108
620
                    r.begin().parent()->chars_available() -
1109
620
                    r.begin().position());
1110
620
            }
1111
620
            return r.begin().contiguous_segment().size();
1112
620
        }
1113
620
    }
1114
620
    else {
1115
620
        return 0;
1116
620
    }
1117
620
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1094
264
{
1095
264
    if constexpr (ranges::sized_range<Range>) {
1096
264
        return r.size();
1097
264
    }
1098
264
    else if constexpr (std::is_same_v<
1099
264
                           ranges::const_iterator_t<Range>,
1100
264
                           typename detail::basic_scan_buffer<
1101
264
                               detail::char_t<Range>>::forward_iterator>) {
1102
264
        if constexpr (ranges::common_range<Range>) {
1103
264
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
264
        }
1105
264
        else {
1106
264
            if (r.begin().stores_parent()) {
1107
264
                return static_cast<size_t>(
1108
264
                    r.begin().parent()->chars_available() -
1109
264
                    r.begin().position());
1110
264
            }
1111
264
            return r.begin().contiguous_segment().size();
1112
264
        }
1113
264
    }
1114
264
    else {
1115
264
        return 0;
1116
264
    }
1117
264
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
1118
1119
template <typename I, typename T>
1120
struct iterator_value_result {
1121
    SCN_NO_UNIQUE_ADDRESS I iterator;
1122
    SCN_NO_UNIQUE_ADDRESS T value;
1123
};
1124
1125
/////////////////////////////////////////////////////////////////
1126
// Unicode
1127
/////////////////////////////////////////////////////////////////
1128
1129
template <typename CharT>
1130
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1131
2.57M
{
1132
2.57M
    auto it = src.begin();
1133
71.8M
    while (it != src.end()) {
1134
69.2M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
69.2M
        if (len == 0) {
1136
6.48k
            return false;
1137
6.48k
        }
1138
69.2M
        if (src.end() - it < len) {
1139
1.01k
            return false;
1140
1.01k
        }
1141
69.2M
        const auto cp = detail::decode_code_point_exhaustive(
1142
69.2M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
69.2M
        if (cp >= detail::invalid_code_point) {
1144
26.7k
            return false;
1145
26.7k
        }
1146
69.2M
        it += len;
1147
69.2M
    }
1148
2.53M
    return true;
1149
2.57M
}
bool scn::v3::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1131
419k
{
1132
419k
    auto it = src.begin();
1133
3.37M
    while (it != src.end()) {
1134
2.96M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
2.96M
        if (len == 0) {
1136
6.48k
            return false;
1137
6.48k
        }
1138
2.95M
        if (src.end() - it < len) {
1139
1.01k
            return false;
1140
1.01k
        }
1141
2.95M
        const auto cp = detail::decode_code_point_exhaustive(
1142
2.95M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
2.95M
        if (cp >= detail::invalid_code_point) {
1144
3.42k
            return false;
1145
3.42k
        }
1146
2.95M
        it += len;
1147
2.95M
    }
1148
408k
    return true;
1149
419k
}
bool scn::v3::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1131
2.15M
{
1132
2.15M
    auto it = src.begin();
1133
68.4M
    while (it != src.end()) {
1134
66.3M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
66.3M
        if (len == 0) {
1136
0
            return false;
1137
0
        }
1138
66.3M
        if (src.end() - it < len) {
1139
0
            return false;
1140
0
        }
1141
66.3M
        const auto cp = detail::decode_code_point_exhaustive(
1142
66.3M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
66.3M
        if (cp >= detail::invalid_code_point) {
1144
23.3k
            return false;
1145
23.3k
        }
1146
66.2M
        it += len;
1147
66.2M
    }
1148
2.13M
    return true;
1149
2.15M
}
1150
1151
template <typename Range>
1152
constexpr auto get_start_for_next_code_point(Range input)
1153
    -> ranges::const_iterator_t<Range>
1154
112k
{
1155
112k
    auto it = input.begin();
1156
610k
    for (; it != input.end(); ++it) {
1157
595k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
97.5k
            break;
1159
97.5k
        }
1160
595k
    }
1161
112k
    return it;
1162
112k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1154
77.7k
{
1155
77.7k
    auto it = input.begin();
1156
439k
    for (; it != input.end(); ++it) {
1157
427k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
65.7k
            break;
1159
65.7k
        }
1160
427k
    }
1161
77.7k
    return it;
1162
77.7k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1154
3.17k
{
1155
3.17k
    auto it = input.begin();
1156
4.49k
    for (; it != input.end(); ++it) {
1157
4.35k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
3.04k
            break;
1159
3.04k
        }
1160
4.35k
    }
1161
3.17k
    return it;
1162
3.17k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
1154
30.5k
{
1155
30.5k
    auto it = input.begin();
1156
164k
    for (; it != input.end(); ++it) {
1157
162k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
27.8k
            break;
1159
27.8k
        }
1160
162k
    }
1161
30.5k
    return it;
1162
30.5k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1154
954
{
1155
954
    auto it = input.begin();
1156
1.51k
    for (; it != input.end(); ++it) {
1157
1.47k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
906
            break;
1159
906
        }
1160
1.47k
    }
1161
954
    return it;
1162
954
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1163
1164
template <typename CharT>
1165
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1166
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1167
                             char32_t>
1168
3.30M
{
1169
3.30M
    SCN_EXPECT(!input.empty());
1170
1171
3.30M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
3.30M
    if (SCN_UNLIKELY(len == 0)) {
1173
77.7k
        return {get_start_for_next_code_point(input),
1174
77.7k
                detail::invalid_code_point};
1175
77.7k
    }
1176
3.23M
    if (SCN_UNLIKELY(len > input.size())) {
1177
27.4k
        return {input.end(), detail::invalid_code_point};
1178
27.4k
    }
1179
1180
3.20M
    return {input.begin() + len,
1181
3.20M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
3.23M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v3::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1168
3.15M
{
1169
3.15M
    SCN_EXPECT(!input.empty());
1170
1171
3.15M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
3.15M
    if (SCN_UNLIKELY(len == 0)) {
1173
77.7k
        return {get_start_for_next_code_point(input),
1174
77.7k
                detail::invalid_code_point};
1175
77.7k
    }
1176
3.07M
    if (SCN_UNLIKELY(len > input.size())) {
1177
27.4k
        return {input.end(), detail::invalid_code_point};
1178
27.4k
    }
1179
1180
3.04M
    return {input.begin() + len,
1181
3.04M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
3.07M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v3::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1168
157k
{
1169
157k
    SCN_EXPECT(!input.empty());
1170
1171
157k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
157k
    if (SCN_UNLIKELY(len == 0)) {
1173
0
        return {get_start_for_next_code_point(input),
1174
0
                detail::invalid_code_point};
1175
0
    }
1176
157k
    if (SCN_UNLIKELY(len > input.size())) {
1177
0
        return {input.end(), detail::invalid_code_point};
1178
0
    }
1179
1180
157k
    return {input.begin() + len,
1181
157k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
157k
}
1183
1184
template <typename CharT>
1185
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1186
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1187
                             char32_t>
1188
104k
{
1189
104k
    SCN_EXPECT(!input.empty());
1190
1191
104k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1192
104k
    SCN_EXPECT(len <= input.size());
1193
1194
104k
    return {input.begin() + len,
1195
104k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1196
104k
}
1197
1198
constexpr bool is_cp_space(char32_t cp) noexcept
1199
86.6M
{
1200
    // Pattern_White_Space property
1201
86.6M
    return (cp >= 0x09 && cp <= 0x0d) ||
1202
86.6M
           cp == 0x20 ||    // ASCII space characters
1203
86.6M
           cp == 0x85 ||    // NEXT LINE (NEL)
1204
86.6M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
1205
86.6M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
1206
86.6M
           cp == 0x2028 ||  // LINE SEPARATOR
1207
86.6M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
1208
86.6M
}
1209
1210
template <typename CharT>
1211
struct is_first_char_space_result {
1212
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1213
    char32_t cp;
1214
    bool is_space;
1215
};
1216
1217
template <typename CharT>
1218
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1219
    -> is_first_char_space_result<CharT>
1220
188k
{
1221
    // TODO: optimize
1222
188k
    SCN_EXPECT(!str.empty());
1223
188k
    auto res = get_next_code_point(str);
1224
188k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
188k
}
scn::v3::impl::is_first_char_space_result<char> scn::v3::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1220
38.2k
{
1221
    // TODO: optimize
1222
38.2k
    SCN_EXPECT(!str.empty());
1223
38.2k
    auto res = get_next_code_point(str);
1224
38.2k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
38.2k
}
scn::v3::impl::is_first_char_space_result<wchar_t> scn::v3::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1220
150k
{
1221
    // TODO: optimize
1222
150k
    SCN_EXPECT(!str.empty());
1223
150k
    auto res = get_next_code_point(str);
1224
150k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
150k
}
1226
1227
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1228
    char32_t cp,
1229
    bool error_on_overflow)
1230
0
{
1231
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1232
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1233
0
        SCN_UNUSED(error_on_overflow);
1234
0
        return static_cast<wchar_t>(cp);
1235
0
    }
1236
0
    else {
1237
0
        if (cp < 0x10000) {
1238
0
            return static_cast<wchar_t>(cp);
1239
0
        }
1240
0
        if (error_on_overflow) {
1241
0
            return unexpected_scan_error(scan_error::value_out_of_range,
1242
0
                                         "Non-BOM code point can't be "
1243
0
                                         "narrowed to a single 2-byte "
1244
0
                                         "wchar_t code unit");
1245
0
        }
1246
        // Return the lead surrogate
1247
0
        return static_cast<wchar_t>(
1248
0
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1249
0
    }
1250
0
}
1251
1252
template <typename SourceCharT, typename DestCharT>
1253
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1254
                                   std::basic_string<DestCharT>& dest)
1255
10.4k
{
1256
10.4k
    static_assert(sizeof(DestCharT) == 4);
1257
1258
10.4k
    auto it = src.begin();
1259
2.06M
    while (it != src.end()) {
1260
2.05M
        auto res = get_next_code_point(
1261
2.05M
            detail::make_string_view_from_iterators<SourceCharT>(it,
1262
2.05M
                                                                 src.end()));
1263
2.05M
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1264
29.3k
            dest.push_back(DestCharT{0xfffd});
1265
29.3k
        }
1266
2.02M
        else {
1267
2.02M
            dest.push_back(res.value);
1268
2.02M
        }
1269
2.05M
        it = detail::make_string_view_iterator(src, res.iterator);
1270
2.05M
    }
1271
10.4k
}
1272
template <typename SourceCharT, typename DestCharT>
1273
void transcode_valid_to_string_impl_to32(
1274
    std::basic_string_view<SourceCharT> src,
1275
    std::basic_string<DestCharT>& dest)
1276
2.03k
{
1277
2.03k
    static_assert(sizeof(DestCharT) == 4);
1278
1279
2.03k
    auto it = src.begin();
1280
106k
    while (it != src.end()) {
1281
104k
        auto res = get_next_code_point_valid(
1282
104k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1283
104k
                                                                 src.end()));
1284
104k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1285
104k
        dest.push_back(res.value);
1286
104k
        it = detail::make_string_view_iterator(src, res.iterator);
1287
104k
    }
1288
2.03k
}
1289
1290
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1291
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1292
                                    std::basic_string<DestCharT>& dest)
1293
1.29k
{
1294
1.29k
    static_assert(sizeof(SourceCharT) == 4);
1295
1.29k
    static_assert(sizeof(DestCharT) == 1);
1296
1297
19.6k
    for (auto cp : src) {
1298
19.6k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
19.6k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
194
            dest.push_back(static_cast<char>(0xef));
1302
194
            dest.push_back(static_cast<char>(0xbf));
1303
194
            dest.push_back(static_cast<char>(0xbd));
1304
194
        }
1305
19.4k
        else if (cp < 128) {
1306
14.1k
            dest.push_back(static_cast<char>(cp));
1307
14.1k
        }
1308
5.30k
        else if (cp < 2048) {
1309
377
            dest.push_back(
1310
377
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
377
            dest.push_back(
1312
377
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
377
        }
1314
4.92k
        else if (cp < 65536) {
1315
4.21k
            dest.push_back(
1316
4.21k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
4.21k
            dest.push_back(static_cast<char>(
1318
4.21k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
4.21k
            dest.push_back(
1320
4.21k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
4.21k
        }
1322
716
        else {
1323
716
            dest.push_back(
1324
716
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
716
            dest.push_back(static_cast<char>(
1326
716
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
716
            dest.push_back(static_cast<char>(
1328
716
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
716
            dest.push_back(
1330
716
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
716
        }
1332
19.6k
    }
1333
1.29k
}
void scn::v3::impl::transcode_to_string_impl_32to8<true, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
1.01k
{
1294
1.01k
    static_assert(sizeof(SourceCharT) == 4);
1295
1.01k
    static_assert(sizeof(DestCharT) == 1);
1296
1297
8.12k
    for (auto cp : src) {
1298
8.12k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
8.12k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
0
            dest.push_back(static_cast<char>(0xef));
1302
0
            dest.push_back(static_cast<char>(0xbf));
1303
0
            dest.push_back(static_cast<char>(0xbd));
1304
0
        }
1305
8.12k
        else if (cp < 128) {
1306
6.64k
            dest.push_back(static_cast<char>(cp));
1307
6.64k
        }
1308
1.47k
        else if (cp < 2048) {
1309
128
            dest.push_back(
1310
128
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
128
            dest.push_back(
1312
128
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
128
        }
1314
1.34k
        else if (cp < 65536) {
1315
902
            dest.push_back(
1316
902
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
902
            dest.push_back(static_cast<char>(
1318
902
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
902
            dest.push_back(
1320
902
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
902
        }
1322
446
        else {
1323
446
            dest.push_back(
1324
446
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
446
            dest.push_back(static_cast<char>(
1326
446
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
446
            dest.push_back(static_cast<char>(
1328
446
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
446
            dest.push_back(
1330
446
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
446
        }
1332
8.12k
    }
1333
1.01k
}
void scn::v3::impl::transcode_to_string_impl_32to8<false, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
289
{
1294
289
    static_assert(sizeof(SourceCharT) == 4);
1295
289
    static_assert(sizeof(DestCharT) == 1);
1296
1297
11.4k
    for (auto cp : src) {
1298
11.4k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
11.4k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
194
            dest.push_back(static_cast<char>(0xef));
1302
194
            dest.push_back(static_cast<char>(0xbf));
1303
194
            dest.push_back(static_cast<char>(0xbd));
1304
194
        }
1305
11.2k
        else if (cp < 128) {
1306
7.46k
            dest.push_back(static_cast<char>(cp));
1307
7.46k
        }
1308
3.82k
        else if (cp < 2048) {
1309
249
            dest.push_back(
1310
249
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
249
            dest.push_back(
1312
249
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
249
        }
1314
3.58k
        else if (cp < 65536) {
1315
3.31k
            dest.push_back(
1316
3.31k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
3.31k
            dest.push_back(static_cast<char>(
1318
3.31k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
3.31k
            dest.push_back(
1320
3.31k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
3.31k
        }
1322
270
        else {
1323
270
            dest.push_back(
1324
270
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
270
            dest.push_back(static_cast<char>(
1326
270
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
270
            dest.push_back(static_cast<char>(
1328
270
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
270
            dest.push_back(
1330
270
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
270
        }
1332
11.4k
    }
1333
289
}
1334
1335
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1336
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1337
                                     std::basic_string<DestCharT>& dest)
1338
{
1339
    static_assert(sizeof(SourceCharT) == 4);
1340
    static_assert(sizeof(DestCharT) == 2);
1341
1342
    for (auto cp : src) {
1343
        const auto u32cp = static_cast<uint32_t>(cp);
1344
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1345
            dest.push_back(char16_t{0xfffd});
1346
        }
1347
        else if (cp < 0x10000) {
1348
            dest.push_back(static_cast<char16_t>(cp));
1349
        }
1350
        else {
1351
            dest.push_back(
1352
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1353
            dest.push_back(
1354
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1355
        }
1356
    }
1357
}
1358
1359
template <typename SourceCharT, typename DestCharT>
1360
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1361
                         std::basic_string<DestCharT>& dest)
1362
10.7k
{
1363
10.7k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
10.7k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
10.4k
        if constexpr (sizeof(DestCharT) == 2) {
1367
10.4k
            std::u32string tmp;
1368
10.4k
            transcode_to_string_impl_to32(src, tmp);
1369
10.4k
            return transcode_to_string_impl_32to16<false>(
1370
10.4k
                std::u32string_view{tmp}, dest);
1371
10.4k
        }
1372
10.4k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
10.4k
            return transcode_to_string_impl_to32(src, dest);
1374
10.4k
        }
1375
10.4k
    }
1376
289
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
289
        if constexpr (sizeof(DestCharT) == 1) {
1378
289
            std::u32string tmp;
1379
289
            transcode_to_string_impl_to32(src, tmp);
1380
289
            return transcode_to_string_impl_32to8<false>(
1381
289
                std::u32string_view{tmp}, dest);
1382
289
        }
1383
289
        else if constexpr (sizeof(DestCharT) == 4) {
1384
289
            return trasncode_to_string_impl_to32(src, dest);
1385
289
        }
1386
289
    }
1387
289
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
289
        if constexpr (sizeof(DestCharT) == 1) {
1389
289
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
289
        }
1391
289
        else if constexpr (sizeof(DestCharT) == 2) {
1392
289
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
289
        }
1394
289
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1362
10.4k
{
1363
10.4k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
10.4k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
10.4k
        if constexpr (sizeof(DestCharT) == 2) {
1367
10.4k
            std::u32string tmp;
1368
10.4k
            transcode_to_string_impl_to32(src, tmp);
1369
10.4k
            return transcode_to_string_impl_32to16<false>(
1370
10.4k
                std::u32string_view{tmp}, dest);
1371
10.4k
        }
1372
10.4k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
10.4k
            return transcode_to_string_impl_to32(src, dest);
1374
10.4k
        }
1375
10.4k
    }
1376
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
0
        if constexpr (sizeof(DestCharT) == 1) {
1378
0
            std::u32string tmp;
1379
0
            transcode_to_string_impl_to32(src, tmp);
1380
0
            return transcode_to_string_impl_32to8<false>(
1381
0
                std::u32string_view{tmp}, dest);
1382
0
        }
1383
0
        else if constexpr (sizeof(DestCharT) == 4) {
1384
0
            return trasncode_to_string_impl_to32(src, dest);
1385
0
        }
1386
0
    }
1387
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
0
        if constexpr (sizeof(DestCharT) == 1) {
1389
0
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
0
        }
1391
0
        else if constexpr (sizeof(DestCharT) == 2) {
1392
0
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
0
        }
1394
0
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1362
289
{
1363
289
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
289
    if constexpr (sizeof(SourceCharT) == 1) {
1366
289
        if constexpr (sizeof(DestCharT) == 2) {
1367
289
            std::u32string tmp;
1368
289
            transcode_to_string_impl_to32(src, tmp);
1369
289
            return transcode_to_string_impl_32to16<false>(
1370
289
                std::u32string_view{tmp}, dest);
1371
289
        }
1372
289
        else if constexpr (sizeof(DestCharT) == 4) {
1373
289
            return transcode_to_string_impl_to32(src, dest);
1374
289
        }
1375
289
    }
1376
289
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
289
        if constexpr (sizeof(DestCharT) == 1) {
1378
289
            std::u32string tmp;
1379
289
            transcode_to_string_impl_to32(src, tmp);
1380
289
            return transcode_to_string_impl_32to8<false>(
1381
289
                std::u32string_view{tmp}, dest);
1382
289
        }
1383
289
        else if constexpr (sizeof(DestCharT) == 4) {
1384
289
            return trasncode_to_string_impl_to32(src, dest);
1385
289
        }
1386
289
    }
1387
289
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
289
        if constexpr (sizeof(DestCharT) == 1) {
1389
289
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
289
        }
1391
289
        else if constexpr (sizeof(DestCharT) == 2) {
1392
289
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
289
        }
1394
289
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
1399
template <typename SourceCharT, typename DestCharT>
1400
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1401
                               std::basic_string<DestCharT>& dest)
1402
3.04k
{
1403
3.04k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
3.04k
    SCN_EXPECT(validate_unicode(src));
1406
3.04k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
2.03k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
2.03k
            std::u32string tmp;
1410
2.03k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
2.03k
            return transcode_to_string_impl_32to16<true>(
1412
2.03k
                std::u32string_view{tmp}, dest);
1413
2.03k
        }
1414
2.03k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
2.03k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
2.03k
        }
1417
2.03k
    }
1418
1.01k
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
1.01k
        if constexpr (sizeof(DestCharT) == 1) {
1420
1.01k
            std::u32string tmp;
1421
1.01k
            transcode_valid_to_string_impl_to32(src, tmp);
1422
1.01k
            return transcode_to_string_impl_32to8<true>(
1423
1.01k
                std::u32string_view{tmp}, dest);
1424
1.01k
        }
1425
1.01k
        else if constexpr (sizeof(DestCharT) == 4) {
1426
1.01k
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
1.01k
        }
1428
1.01k
    }
1429
1.01k
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
1.01k
        if constexpr (sizeof(DestCharT) == 1) {
1431
1.01k
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
1.01k
        }
1433
1.01k
        else if constexpr (sizeof(DestCharT) == 2) {
1434
1.01k
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
1.01k
        }
1436
1.01k
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1402
2.03k
{
1403
2.03k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
2.03k
    SCN_EXPECT(validate_unicode(src));
1406
2.03k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
2.03k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
2.03k
            std::u32string tmp;
1410
2.03k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
2.03k
            return transcode_to_string_impl_32to16<true>(
1412
2.03k
                std::u32string_view{tmp}, dest);
1413
2.03k
        }
1414
2.03k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
2.03k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
2.03k
        }
1417
2.03k
    }
1418
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
0
        if constexpr (sizeof(DestCharT) == 1) {
1420
0
            std::u32string tmp;
1421
0
            transcode_valid_to_string_impl_to32(src, tmp);
1422
0
            return transcode_to_string_impl_32to8<true>(
1423
0
                std::u32string_view{tmp}, dest);
1424
0
        }
1425
0
        else if constexpr (sizeof(DestCharT) == 4) {
1426
0
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
0
        }
1428
0
    }
1429
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
0
        if constexpr (sizeof(DestCharT) == 1) {
1431
0
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
0
        }
1433
0
        else if constexpr (sizeof(DestCharT) == 2) {
1434
0
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
0
        }
1436
0
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1402
1.01k
{
1403
1.01k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
1.01k
    SCN_EXPECT(validate_unicode(src));
1406
1.01k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
1.01k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
1.01k
            std::u32string tmp;
1410
1.01k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
1.01k
            return transcode_to_string_impl_32to16<true>(
1412
1.01k
                std::u32string_view{tmp}, dest);
1413
1.01k
        }
1414
1.01k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
1.01k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
1.01k
        }
1417
1.01k
    }
1418
1.01k
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
1.01k
        if constexpr (sizeof(DestCharT) == 1) {
1420
1.01k
            std::u32string tmp;
1421
1.01k
            transcode_valid_to_string_impl_to32(src, tmp);
1422
1.01k
            return transcode_to_string_impl_32to8<true>(
1423
1.01k
                std::u32string_view{tmp}, dest);
1424
1.01k
        }
1425
1.01k
        else if constexpr (sizeof(DestCharT) == 4) {
1426
1.01k
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
1.01k
        }
1428
1.01k
    }
1429
1.01k
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
1.01k
        if constexpr (sizeof(DestCharT) == 1) {
1431
1.01k
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
1.01k
        }
1433
1.01k
        else if constexpr (sizeof(DestCharT) == 2) {
1434
1.01k
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
1.01k
        }
1436
1.01k
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
1441
1442
template <typename CharT>
1443
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1444
                                   function_ref<void(char32_t)> cb)
1445
26.1k
{
1446
    // TODO: Could be optimized by being eager
1447
26.1k
    auto it = input.begin();
1448
69.5k
    while (it != input.end()) {
1449
43.4k
        auto res = get_next_code_point(
1450
43.4k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
43.4k
        cb(res.value);
1452
43.4k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
43.4k
    }
1454
26.1k
}
void scn::v3::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
22.6k
{
1446
    // TODO: Could be optimized by being eager
1447
22.6k
    auto it = input.begin();
1448
58.8k
    while (it != input.end()) {
1449
36.2k
        auto res = get_next_code_point(
1450
36.2k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
36.2k
        cb(res.value);
1452
36.2k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
36.2k
    }
1454
22.6k
}
void scn::v3::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
3.52k
{
1446
    // TODO: Could be optimized by being eager
1447
3.52k
    auto it = input.begin();
1448
10.6k
    while (it != input.end()) {
1449
7.12k
        auto res = get_next_code_point(
1450
7.12k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
7.12k
        cb(res.value);
1452
7.12k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
7.12k
    }
1454
3.52k
}
1455
1456
template <typename CharT>
1457
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1458
                                         function_ref<void(char32_t)> cb)
1459
{
1460
    auto it = input.begin();
1461
    while (it != input.end()) {
1462
        auto res = get_next_code_point_valid(
1463
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1464
        cb(res.value);
1465
        it = detail::make_string_view_iterator(input, res.iterator);
1466
    }
1467
}
1468
1469
/////////////////////////////////////////////////////////////////
1470
// contiguous_range_factory
1471
/////////////////////////////////////////////////////////////////
1472
1473
template <typename View>
1474
class take_width_view;
1475
1476
template <typename CharT>
1477
struct string_view_wrapper {
1478
    using char_type = CharT;
1479
    using string_type = std::basic_string<CharT>;
1480
    using string_view_type = std::basic_string_view<CharT>;
1481
1482
    constexpr string_view_wrapper() = default;
1483
1484
    template <typename Range,
1485
              std::enable_if_t<ranges::borrowed_range<Range> &&
1486
                               ranges::contiguous_range<Range> &&
1487
                               ranges::sized_range<Range>>* = nullptr>
1488
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1489
8.25M
    {
1490
8.25M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1489
1.92M
    {
1490
1.92M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1489
3.70M
    {
1490
3.70M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1489
1.74M
    {
1490
1.74M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, (void*)0>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1489
887k
    {
1490
887k
    }
1491
1492
    template <typename Range,
1493
              std::enable_if_t<ranges::borrowed_range<Range> &&
1494
                               ranges::contiguous_range<Range> &&
1495
                               ranges::sized_range<Range>>* = nullptr>
1496
    void assign(Range&& r)
1497
    {
1498
        sv = string_view_type{ranges::data(r), r.size()};
1499
    }
1500
1501
    constexpr auto view() const
1502
15.2M
    {
1503
15.2M
        return sv;
1504
15.2M
    }
scn::v3::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1502
12.7M
    {
1503
12.7M
        return sv;
1504
12.7M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1502
2.46M
    {
1503
2.46M
        return sv;
1504
2.46M
    }
1505
1506
    constexpr bool stores_allocated_string() const
1507
0
    {
1508
0
        return false;
1509
0
    }
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1510
1511
    [[noreturn]] string_type get_allocated_string() const
1512
    {
1513
        SCN_EXPECT(false);
1514
        SCN_UNREACHABLE;
1515
    }
1516
1517
    string_view_type sv;
1518
};
1519
1520
template <typename Range>
1521
string_view_wrapper(Range)
1522
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1523
1524
template <typename CharT>
1525
class contiguous_range_factory {
1526
public:
1527
    using char_type = CharT;
1528
    using string_type = std::basic_string<CharT>;
1529
    using string_view_type = std::basic_string_view<CharT>;
1530
1531
6.04M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1531
4.17M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1531
1.87M
    contiguous_range_factory() = default;
1532
1533
    template <typename Range,
1534
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1535
    contiguous_range_factory(Range&& range)
1536
2.44M
    {
1537
2.44M
        emplace_range(SCN_FWD(range));
1538
2.44M
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1536
1.72M
    {
1537
1.72M
        emplace_range(SCN_FWD(range));
1538
1.72M
    }
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1536
1.54k
    {
1537
1.54k
        emplace_range(SCN_FWD(range));
1538
1.54k
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1536
719k
    {
1537
719k
        emplace_range(SCN_FWD(range));
1538
719k
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1536
386
    {
1537
386
        emplace_range(SCN_FWD(range));
1538
386
    }
1539
1540
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1541
        : m_storage(std::nullopt), m_view(svw.view())
1542
    {
1543
    }
1544
1545
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1546
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1547
        delete;
1548
1549
    contiguous_range_factory(contiguous_range_factory&& other)
1550
        : m_storage(SCN_MOVE(other.m_storage))
1551
    {
1552
        if (m_storage) {
1553
            m_view = *m_storage;
1554
        }
1555
        else {
1556
            m_view = other.m_view;
1557
        }
1558
    }
1559
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1560
    {
1561
        m_storage = SCN_MOVE(other.m_storage);
1562
        if (m_storage) {
1563
            m_view = *m_storage;
1564
        }
1565
        else {
1566
            m_view = other.m_view;
1567
        }
1568
        return *this;
1569
    }
1570
1571
8.48M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1571
5.89M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1571
2.59M
    ~contiguous_range_factory() = default;
1572
1573
    template <typename Range,
1574
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1575
    void assign(Range&& range)
1576
3.75M
    {
1577
3.75M
        emplace_range(SCN_FWD(range));
1578
3.75M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1576
995k
    {
1577
995k
        emplace_range(SCN_FWD(range));
1578
995k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1576
889k
    {
1577
889k
        emplace_range(SCN_FWD(range));
1578
889k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1576
306k
    {
1577
306k
        emplace_range(SCN_FWD(range));
1578
306k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1576
393k
    {
1577
393k
        emplace_range(SCN_FWD(range));
1578
393k
    }
void scn::v3::impl::contiguous_range_factory<char>::assign<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, (void*)0>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1576
881k
    {
1577
881k
        emplace_range(SCN_FWD(range));
1578
881k
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, (void*)0>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1576
289k
    {
1577
289k
        emplace_range(SCN_FWD(range));
1578
289k
    }
1579
1580
    string_view_type view() const
1581
14.4M
    {
1582
14.4M
        return m_view;
1583
14.4M
    }
scn::v3::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1581
10.2M
    {
1582
10.2M
        return m_view;
1583
10.2M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1581
4.17M
    {
1582
4.17M
        return m_view;
1583
4.17M
    }
1584
1585
    constexpr bool stores_allocated_string() const
1586
3.83M
    {
1587
3.83M
        return m_storage.has_value();
1588
3.83M
    }
scn::v3::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1586
2.41M
    {
1587
2.41M
        return m_storage.has_value();
1588
2.41M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1586
1.42M
    {
1587
1.42M
        return m_storage.has_value();
1588
1.42M
    }
1589
1590
    string_type& get_allocated_string() &
1591
1.75M
    {
1592
1.75M
        SCN_EXPECT(stores_allocated_string());
1593
1.75M
        return *m_storage;
1594
1.75M
    }
scn::v3::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1591
1.33M
    {
1592
1.33M
        SCN_EXPECT(stores_allocated_string());
1593
1.33M
        return *m_storage;
1594
1.33M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1591
417k
    {
1592
417k
        SCN_EXPECT(stores_allocated_string());
1593
417k
        return *m_storage;
1594
417k
    }
1595
    const string_type& get_allocated_string() const&
1596
    {
1597
        SCN_EXPECT(stores_allocated_string());
1598
        return *m_storage;
1599
    }
1600
    string_type&& get_allocated_string() &&
1601
    {
1602
        SCN_EXPECT(stores_allocated_string());
1603
        return *m_storage;
1604
    }
1605
1606
    string_type& make_into_allocated_string()
1607
0
    {
1608
0
        if (stores_allocated_string()) {
1609
0
            return get_allocated_string();
1610
0
        }
1611
1612
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1613
0
        m_view = string_view_type{str.data(), str.size()};
1614
0
        return str;
1615
0
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1616
1617
private:
1618
    template <typename Range>
1619
    void emplace_range(Range&& range)
1620
6.19M
    {
1621
6.19M
        using value_t = ranges::range_value_t<Range>;
1622
1623
6.19M
        if constexpr (ranges::borrowed_range<Range> &&
1624
6.19M
                      ranges::contiguous_range<Range> &&
1625
6.19M
                      ranges::sized_range<Range>) {
1626
4.91M
            m_storage.reset();
1627
4.91M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
4.91M
        }
1629
4.91M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
4.91M
                                          std::basic_string<CharT>>) {
1631
3.74M
            m_storage.emplace(SCN_FWD(range));
1632
1.17M
            m_view = string_view_type{*m_storage};
1633
1.17M
        }
1634
3.74M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
3.74M
                                          typename detail::basic_scan_buffer<
1636
3.74M
                                              value_t>::forward_iterator> &&
1637
3.74M
                           ranges::common_range<Range>) {
1638
1.93k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.93k
            auto end_seg = range.end().contiguous_segment();
1640
3.74M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.27M
                             detail::to_address(end_seg.end()))) {
1642
1.27M
                auto& str = m_storage.emplace();
1643
1.27M
                str.reserve(range.end().position() - range.begin().position());
1644
1.27M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.27M
                m_view = string_view_type{str};
1646
1.27M
                return;
1647
1.27M
            }
1648
1649
2.46M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.46M
                                                            end_seg.data());
1651
2.46M
            m_storage.reset();
1652
2.46M
        }
1653
1.93k
        else {
1654
1.93k
            auto& str = m_storage.emplace();
1655
1.93k
            if constexpr (ranges::sized_range<Range>) {
1656
1.93k
                str.reserve(range.size());
1657
1.93k
            }
1658
1.93k
            if constexpr (ranges::common_range<Range>) {
1659
1.93k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.93k
                          std::back_inserter(str));
1661
1.93k
            }
1662
1.93k
            else {
1663
1.93k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.93k
                     ++it) {
1665
1.93k
                    str.push_back(*it);
1666
1.93k
                }
1667
1.93k
            }
1668
1.93k
            m_view = string_view_type{str};
1669
1.93k
        }
1670
6.19M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1620
2.71M
    {
1621
2.71M
        using value_t = ranges::range_value_t<Range>;
1622
1623
2.71M
        if constexpr (ranges::borrowed_range<Range> &&
1624
2.71M
                      ranges::contiguous_range<Range> &&
1625
2.71M
                      ranges::sized_range<Range>) {
1626
2.71M
            m_storage.reset();
1627
2.71M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
2.71M
        }
1629
2.71M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
2.71M
                                          std::basic_string<CharT>>) {
1631
2.71M
            m_storage.emplace(SCN_FWD(range));
1632
2.71M
            m_view = string_view_type{*m_storage};
1633
2.71M
        }
1634
2.71M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
2.71M
                                          typename detail::basic_scan_buffer<
1636
2.71M
                                              value_t>::forward_iterator> &&
1637
2.71M
                           ranges::common_range<Range>) {
1638
2.71M
            auto beg_seg = range.begin().contiguous_segment();
1639
2.71M
            auto end_seg = range.end().contiguous_segment();
1640
2.71M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
2.71M
                             detail::to_address(end_seg.end()))) {
1642
1.25M
                auto& str = m_storage.emplace();
1643
1.25M
                str.reserve(range.end().position() - range.begin().position());
1644
1.25M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.25M
                m_view = string_view_type{str};
1646
1.25M
                return;
1647
1.25M
            }
1648
1649
1.45M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.45M
                                                            end_seg.data());
1651
1.45M
            m_storage.reset();
1652
1.45M
        }
1653
2.71M
        else {
1654
2.71M
            auto& str = m_storage.emplace();
1655
2.71M
            if constexpr (ranges::sized_range<Range>) {
1656
2.71M
                str.reserve(range.size());
1657
2.71M
            }
1658
2.71M
            if constexpr (ranges::common_range<Range>) {
1659
2.71M
                std::copy(ranges::begin(range), ranges::end(range),
1660
2.71M
                          std::back_inserter(str));
1661
2.71M
            }
1662
2.71M
            else {
1663
2.71M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
2.71M
                     ++it) {
1665
2.71M
                    str.push_back(*it);
1666
2.71M
                }
1667
2.71M
            }
1668
2.71M
            m_view = string_view_type{str};
1669
2.71M
        }
1670
2.71M
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1620
1.54k
    {
1621
1.54k
        using value_t = ranges::range_value_t<Range>;
1622
1623
1.54k
        if constexpr (ranges::borrowed_range<Range> &&
1624
1.54k
                      ranges::contiguous_range<Range> &&
1625
1.54k
                      ranges::sized_range<Range>) {
1626
1.54k
            m_storage.reset();
1627
1.54k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.54k
        }
1629
1.54k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.54k
                                          std::basic_string<CharT>>) {
1631
1.54k
            m_storage.emplace(SCN_FWD(range));
1632
1.54k
            m_view = string_view_type{*m_storage};
1633
1.54k
        }
1634
1.54k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.54k
                                          typename detail::basic_scan_buffer<
1636
1.54k
                                              value_t>::forward_iterator> &&
1637
1.54k
                           ranges::common_range<Range>) {
1638
1.54k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.54k
            auto end_seg = range.end().contiguous_segment();
1640
1.54k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.54k
                             detail::to_address(end_seg.end()))) {
1642
1.54k
                auto& str = m_storage.emplace();
1643
1.54k
                str.reserve(range.end().position() - range.begin().position());
1644
1.54k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.54k
                m_view = string_view_type{str};
1646
1.54k
                return;
1647
1.54k
            }
1648
1649
1.54k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.54k
                                                            end_seg.data());
1651
1.54k
            m_storage.reset();
1652
1.54k
        }
1653
1.54k
        else {
1654
1.54k
            auto& str = m_storage.emplace();
1655
1.54k
            if constexpr (ranges::sized_range<Range>) {
1656
1.54k
                str.reserve(range.size());
1657
1.54k
            }
1658
1.54k
            if constexpr (ranges::common_range<Range>) {
1659
1.54k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.54k
                          std::back_inserter(str));
1661
1.54k
            }
1662
1.54k
            else {
1663
1.54k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.54k
                     ++it) {
1665
1.54k
                    str.push_back(*it);
1666
1.54k
                }
1667
1.54k
            }
1668
1.54k
            m_view = string_view_type{str};
1669
1.54k
        }
1670
1.54k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1620
889k
    {
1621
889k
        using value_t = ranges::range_value_t<Range>;
1622
1623
889k
        if constexpr (ranges::borrowed_range<Range> &&
1624
889k
                      ranges::contiguous_range<Range> &&
1625
889k
                      ranges::sized_range<Range>) {
1626
889k
            m_storage.reset();
1627
889k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
889k
        }
1629
889k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
889k
                                          std::basic_string<CharT>>) {
1631
889k
            m_storage.emplace(SCN_FWD(range));
1632
889k
            m_view = string_view_type{*m_storage};
1633
889k
        }
1634
889k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
889k
                                          typename detail::basic_scan_buffer<
1636
889k
                                              value_t>::forward_iterator> &&
1637
889k
                           ranges::common_range<Range>) {
1638
889k
            auto beg_seg = range.begin().contiguous_segment();
1639
889k
            auto end_seg = range.end().contiguous_segment();
1640
889k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
889k
                             detail::to_address(end_seg.end()))) {
1642
889k
                auto& str = m_storage.emplace();
1643
889k
                str.reserve(range.end().position() - range.begin().position());
1644
889k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
889k
                m_view = string_view_type{str};
1646
889k
                return;
1647
889k
            }
1648
1649
889k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
889k
                                                            end_seg.data());
1651
889k
            m_storage.reset();
1652
889k
        }
1653
889k
        else {
1654
889k
            auto& str = m_storage.emplace();
1655
889k
            if constexpr (ranges::sized_range<Range>) {
1656
889k
                str.reserve(range.size());
1657
889k
            }
1658
889k
            if constexpr (ranges::common_range<Range>) {
1659
889k
                std::copy(ranges::begin(range), ranges::end(range),
1660
889k
                          std::back_inserter(str));
1661
889k
            }
1662
889k
            else {
1663
889k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
889k
                     ++it) {
1665
889k
                    str.push_back(*it);
1666
889k
                }
1667
889k
            }
1668
889k
            m_view = string_view_type{str};
1669
889k
        }
1670
889k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1620
1.02M
    {
1621
1.02M
        using value_t = ranges::range_value_t<Range>;
1622
1623
1.02M
        if constexpr (ranges::borrowed_range<Range> &&
1624
1.02M
                      ranges::contiguous_range<Range> &&
1625
1.02M
                      ranges::sized_range<Range>) {
1626
1.02M
            m_storage.reset();
1627
1.02M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.02M
        }
1629
1.02M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.02M
                                          std::basic_string<CharT>>) {
1631
1.02M
            m_storage.emplace(SCN_FWD(range));
1632
1.02M
            m_view = string_view_type{*m_storage};
1633
1.02M
        }
1634
1.02M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.02M
                                          typename detail::basic_scan_buffer<
1636
1.02M
                                              value_t>::forward_iterator> &&
1637
1.02M
                           ranges::common_range<Range>) {
1638
1.02M
            auto beg_seg = range.begin().contiguous_segment();
1639
1.02M
            auto end_seg = range.end().contiguous_segment();
1640
1.02M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.02M
                             detail::to_address(end_seg.end()))) {
1642
16.7k
                auto& str = m_storage.emplace();
1643
16.7k
                str.reserve(range.end().position() - range.begin().position());
1644
16.7k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
16.7k
                m_view = string_view_type{str};
1646
16.7k
                return;
1647
16.7k
            }
1648
1649
1.00M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.00M
                                                            end_seg.data());
1651
1.00M
            m_storage.reset();
1652
1.00M
        }
1653
1.02M
        else {
1654
1.02M
            auto& str = m_storage.emplace();
1655
1.02M
            if constexpr (ranges::sized_range<Range>) {
1656
1.02M
                str.reserve(range.size());
1657
1.02M
            }
1658
1.02M
            if constexpr (ranges::common_range<Range>) {
1659
1.02M
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.02M
                          std::back_inserter(str));
1661
1.02M
            }
1662
1.02M
            else {
1663
1.02M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.02M
                     ++it) {
1665
1.02M
                    str.push_back(*it);
1666
1.02M
                }
1667
1.02M
            }
1668
1.02M
            m_view = string_view_type{str};
1669
1.02M
        }
1670
1.02M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1620
386
    {
1621
386
        using value_t = ranges::range_value_t<Range>;
1622
1623
386
        if constexpr (ranges::borrowed_range<Range> &&
1624
386
                      ranges::contiguous_range<Range> &&
1625
386
                      ranges::sized_range<Range>) {
1626
386
            m_storage.reset();
1627
386
            m_view = string_view_type{ranges::data(range), range.size()};
1628
386
        }
1629
386
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
386
                                          std::basic_string<CharT>>) {
1631
386
            m_storage.emplace(SCN_FWD(range));
1632
386
            m_view = string_view_type{*m_storage};
1633
386
        }
1634
386
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
386
                                          typename detail::basic_scan_buffer<
1636
386
                                              value_t>::forward_iterator> &&
1637
386
                           ranges::common_range<Range>) {
1638
386
            auto beg_seg = range.begin().contiguous_segment();
1639
386
            auto end_seg = range.end().contiguous_segment();
1640
386
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
386
                             detail::to_address(end_seg.end()))) {
1642
386
                auto& str = m_storage.emplace();
1643
386
                str.reserve(range.end().position() - range.begin().position());
1644
386
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
386
                m_view = string_view_type{str};
1646
386
                return;
1647
386
            }
1648
1649
386
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
386
                                                            end_seg.data());
1651
386
            m_storage.reset();
1652
386
        }
1653
386
        else {
1654
386
            auto& str = m_storage.emplace();
1655
386
            if constexpr (ranges::sized_range<Range>) {
1656
386
                str.reserve(range.size());
1657
386
            }
1658
386
            if constexpr (ranges::common_range<Range>) {
1659
386
                std::copy(ranges::begin(range), ranges::end(range),
1660
386
                          std::back_inserter(str));
1661
386
            }
1662
386
            else {
1663
386
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
386
                     ++it) {
1665
386
                    str.push_back(*it);
1666
386
                }
1667
386
            }
1668
386
            m_view = string_view_type{str};
1669
386
        }
1670
386
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1620
393k
    {
1621
393k
        using value_t = ranges::range_value_t<Range>;
1622
1623
393k
        if constexpr (ranges::borrowed_range<Range> &&
1624
393k
                      ranges::contiguous_range<Range> &&
1625
393k
                      ranges::sized_range<Range>) {
1626
393k
            m_storage.reset();
1627
393k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
393k
        }
1629
393k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
393k
                                          std::basic_string<CharT>>) {
1631
393k
            m_storage.emplace(SCN_FWD(range));
1632
393k
            m_view = string_view_type{*m_storage};
1633
393k
        }
1634
393k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
393k
                                          typename detail::basic_scan_buffer<
1636
393k
                                              value_t>::forward_iterator> &&
1637
393k
                           ranges::common_range<Range>) {
1638
393k
            auto beg_seg = range.begin().contiguous_segment();
1639
393k
            auto end_seg = range.end().contiguous_segment();
1640
393k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
393k
                             detail::to_address(end_seg.end()))) {
1642
393k
                auto& str = m_storage.emplace();
1643
393k
                str.reserve(range.end().position() - range.begin().position());
1644
393k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
393k
                m_view = string_view_type{str};
1646
393k
                return;
1647
393k
            }
1648
1649
393k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
393k
                                                            end_seg.data());
1651
393k
            m_storage.reset();
1652
393k
        }
1653
393k
        else {
1654
393k
            auto& str = m_storage.emplace();
1655
393k
            if constexpr (ranges::sized_range<Range>) {
1656
393k
                str.reserve(range.size());
1657
393k
            }
1658
393k
            if constexpr (ranges::common_range<Range>) {
1659
393k
                std::copy(ranges::begin(range), ranges::end(range),
1660
393k
                          std::back_inserter(str));
1661
393k
            }
1662
393k
            else {
1663
393k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
393k
                     ++it) {
1665
393k
                    str.push_back(*it);
1666
393k
                }
1667
393k
            }
1668
393k
            m_view = string_view_type{str};
1669
393k
        }
1670
393k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1620
881k
    {
1621
881k
        using value_t = ranges::range_value_t<Range>;
1622
1623
881k
        if constexpr (ranges::borrowed_range<Range> &&
1624
881k
                      ranges::contiguous_range<Range> &&
1625
881k
                      ranges::sized_range<Range>) {
1626
881k
            m_storage.reset();
1627
881k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
881k
        }
1629
881k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
881k
                                          std::basic_string<CharT>>) {
1631
881k
            m_storage.emplace(SCN_FWD(range));
1632
881k
            m_view = string_view_type{*m_storage};
1633
881k
        }
1634
881k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
881k
                                          typename detail::basic_scan_buffer<
1636
881k
                                              value_t>::forward_iterator> &&
1637
881k
                           ranges::common_range<Range>) {
1638
881k
            auto beg_seg = range.begin().contiguous_segment();
1639
881k
            auto end_seg = range.end().contiguous_segment();
1640
881k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
881k
                             detail::to_address(end_seg.end()))) {
1642
881k
                auto& str = m_storage.emplace();
1643
881k
                str.reserve(range.end().position() - range.begin().position());
1644
881k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
881k
                m_view = string_view_type{str};
1646
881k
                return;
1647
881k
            }
1648
1649
881k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
881k
                                                            end_seg.data());
1651
881k
            m_storage.reset();
1652
881k
        }
1653
881k
        else {
1654
881k
            auto& str = m_storage.emplace();
1655
881k
            if constexpr (ranges::sized_range<Range>) {
1656
881k
                str.reserve(range.size());
1657
881k
            }
1658
881k
            if constexpr (ranges::common_range<Range>) {
1659
881k
                std::copy(ranges::begin(range), ranges::end(range),
1660
881k
                          std::back_inserter(str));
1661
881k
            }
1662
881k
            else {
1663
881k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
881k
                     ++it) {
1665
881k
                    str.push_back(*it);
1666
881k
                }
1667
881k
            }
1668
881k
            m_view = string_view_type{str};
1669
881k
        }
1670
881k
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1620
289k
    {
1621
289k
        using value_t = ranges::range_value_t<Range>;
1622
1623
289k
        if constexpr (ranges::borrowed_range<Range> &&
1624
289k
                      ranges::contiguous_range<Range> &&
1625
289k
                      ranges::sized_range<Range>) {
1626
289k
            m_storage.reset();
1627
289k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
289k
        }
1629
289k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
289k
                                          std::basic_string<CharT>>) {
1631
289k
            m_storage.emplace(SCN_FWD(range));
1632
289k
            m_view = string_view_type{*m_storage};
1633
289k
        }
1634
289k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
289k
                                          typename detail::basic_scan_buffer<
1636
289k
                                              value_t>::forward_iterator> &&
1637
289k
                           ranges::common_range<Range>) {
1638
289k
            auto beg_seg = range.begin().contiguous_segment();
1639
289k
            auto end_seg = range.end().contiguous_segment();
1640
289k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
289k
                             detail::to_address(end_seg.end()))) {
1642
289k
                auto& str = m_storage.emplace();
1643
289k
                str.reserve(range.end().position() - range.begin().position());
1644
289k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
289k
                m_view = string_view_type{str};
1646
289k
                return;
1647
289k
            }
1648
1649
289k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
289k
                                                            end_seg.data());
1651
289k
            m_storage.reset();
1652
289k
        }
1653
289k
        else {
1654
289k
            auto& str = m_storage.emplace();
1655
289k
            if constexpr (ranges::sized_range<Range>) {
1656
289k
                str.reserve(range.size());
1657
289k
            }
1658
289k
            if constexpr (ranges::common_range<Range>) {
1659
289k
                std::copy(ranges::begin(range), ranges::end(range),
1660
289k
                          std::back_inserter(str));
1661
289k
            }
1662
289k
            else {
1663
289k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
289k
                     ++it) {
1665
289k
                    str.push_back(*it);
1666
289k
                }
1667
289k
            }
1668
289k
            m_view = string_view_type{str};
1669
289k
        }
1670
289k
    }
1671
1672
    std::optional<string_type> m_storage{std::nullopt};
1673
    string_view_type m_view{};
1674
};
1675
1676
template <typename Range>
1677
contiguous_range_factory(Range)
1678
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1679
1680
template <typename Range>
1681
auto make_contiguous_buffer(Range&& range)
1682
10.6M
{
1683
10.6M
    if constexpr (ranges::borrowed_range<Range> &&
1684
10.6M
                  ranges::contiguous_range<Range> &&
1685
10.6M
                  ranges::sized_range<Range>) {
1686
8.25M
        return string_view_wrapper{SCN_FWD(range)};
1687
8.25M
    }
1688
2.44M
    else {
1689
2.44M
        return contiguous_range_factory{SCN_FWD(range)};
1690
2.44M
    }
1691
10.6M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1682
1.72M
{
1683
1.72M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.72M
                  ranges::contiguous_range<Range> &&
1685
1.72M
                  ranges::sized_range<Range>) {
1686
1.72M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.72M
    }
1688
1.72M
    else {
1689
1.72M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.72M
    }
1691
1.72M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1682
1.54k
{
1683
1.54k
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.54k
                  ranges::contiguous_range<Range> &&
1685
1.54k
                  ranges::sized_range<Range>) {
1686
1.54k
        return string_view_wrapper{SCN_FWD(range)};
1687
1.54k
    }
1688
1.54k
    else {
1689
1.54k
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.54k
    }
1691
1.54k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1682
1.92M
{
1683
1.92M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.92M
                  ranges::contiguous_range<Range> &&
1685
1.92M
                  ranges::sized_range<Range>) {
1686
1.92M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.92M
    }
1688
1.92M
    else {
1689
1.92M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.92M
    }
1691
1.92M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1682
3.70M
{
1683
3.70M
    if constexpr (ranges::borrowed_range<Range> &&
1684
3.70M
                  ranges::contiguous_range<Range> &&
1685
3.70M
                  ranges::sized_range<Range>) {
1686
3.70M
        return string_view_wrapper{SCN_FWD(range)};
1687
3.70M
    }
1688
3.70M
    else {
1689
3.70M
        return contiguous_range_factory{SCN_FWD(range)};
1690
3.70M
    }
1691
3.70M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1682
719k
{
1683
719k
    if constexpr (ranges::borrowed_range<Range> &&
1684
719k
                  ranges::contiguous_range<Range> &&
1685
719k
                  ranges::sized_range<Range>) {
1686
719k
        return string_view_wrapper{SCN_FWD(range)};
1687
719k
    }
1688
719k
    else {
1689
719k
        return contiguous_range_factory{SCN_FWD(range)};
1690
719k
    }
1691
719k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1682
386
{
1683
386
    if constexpr (ranges::borrowed_range<Range> &&
1684
386
                  ranges::contiguous_range<Range> &&
1685
386
                  ranges::sized_range<Range>) {
1686
386
        return string_view_wrapper{SCN_FWD(range)};
1687
386
    }
1688
386
    else {
1689
386
        return contiguous_range_factory{SCN_FWD(range)};
1690
386
    }
1691
386
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1682
1.74M
{
1683
1.74M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.74M
                  ranges::contiguous_range<Range> &&
1685
1.74M
                  ranges::sized_range<Range>) {
1686
1.74M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.74M
    }
1688
1.74M
    else {
1689
1.74M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.74M
    }
1691
1.74M
}
auto scn::v3::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1682
887k
{
1683
887k
    if constexpr (ranges::borrowed_range<Range> &&
1684
887k
                  ranges::contiguous_range<Range> &&
1685
887k
                  ranges::sized_range<Range>) {
1686
887k
        return string_view_wrapper{SCN_FWD(range)};
1687
887k
    }
1688
887k
    else {
1689
887k
        return contiguous_range_factory{SCN_FWD(range)};
1690
887k
    }
1691
887k
}
1692
}  // namespace impl
1693
1694
/////////////////////////////////////////////////////////////////
1695
// locale stuff
1696
/////////////////////////////////////////////////////////////////
1697
1698
#if !SCN_DISABLE_LOCALE
1699
1700
namespace detail {
1701
extern template locale_ref::locale_ref(const std::locale&);
1702
extern template auto locale_ref::get() const -> std::locale;
1703
}  // namespace detail
1704
1705
namespace impl {
1706
template <typename Facet>
1707
const Facet& get_facet(detail::locale_ref loc)
1708
{
1709
    auto stdloc = loc.get<std::locale>();
1710
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1711
    return std::use_facet<Facet>(stdloc);
1712
}
1713
1714
template <typename Facet>
1715
const Facet& get_or_add_facet(std::locale& stdloc)
1716
1.31M
{
1717
1.31M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.31M
        return std::use_facet<Facet>(stdloc);
1719
1.31M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.31M
}
std::__1::numpunct<char> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1716
1.05M
{
1717
1.05M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.05M
        return std::use_facet<Facet>(stdloc);
1719
1.05M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.05M
}
std::__1::numpunct<wchar_t> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1716
254k
{
1717
254k
    if (std::has_facet<Facet>(stdloc)) {
1718
254k
        return std::use_facet<Facet>(stdloc);
1719
254k
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
254k
}
1723
1724
class clocale_restorer {
1725
public:
1726
    clocale_restorer(int cat) : m_category(cat)
1727
1.23M
    {
1728
1.23M
        const auto loc = std::setlocale(cat, nullptr);
1729
1.23M
        std::strcpy(m_locbuf, loc);
1730
1.23M
    }
1731
    ~clocale_restorer()
1732
1.23M
    {
1733
        // Restore locale to what it was before
1734
1.23M
        std::setlocale(m_category, m_locbuf);
1735
1.23M
    }
1736
1737
    clocale_restorer(const clocale_restorer&) = delete;
1738
    clocale_restorer(clocale_restorer&&) = delete;
1739
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1740
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1741
1742
private:
1743
    // For whatever reason, this cannot be stored in the heap if
1744
    // setlocale hasn't been called before, or msan errors with
1745
    // 'use-of-unitialized-value' when resetting the locale
1746
    // back. POSIX specifies that the content of loc may not be
1747
    // static, so we need to save it ourselves
1748
    char m_locbuf[64] = {0};
1749
1750
    int m_category;
1751
};
1752
1753
class set_clocale_classic_guard {
1754
public:
1755
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1756
1.23M
    {
1757
1.23M
        std::setlocale(cat, "C");
1758
1.23M
    }
1759
1760
private:
1761
    clocale_restorer m_restorer;
1762
};
1763
}  // namespace impl
1764
1765
namespace impl {
1766
struct classic_with_thsep_tag {};
1767
1768
template <typename CharT>
1769
struct localized_number_formatting_options {
1770
3.02M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1770
2.08M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1770
935k
    localized_number_formatting_options() = default;
1771
1772
    localized_number_formatting_options(classic_with_thsep_tag)
1773
0
    {
1774
0
        grouping = "\3";
1775
0
        thousands_sep = CharT{','};
1776
0
    }
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
1777
1778
    localized_number_formatting_options(detail::locale_ref loc)
1779
1.31M
    {
1780
1.31M
        auto stdloc = loc.get<std::locale>();
1781
1.31M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.31M
        grouping = numpunct.grouping();
1783
1.31M
        thousands_sep =
1784
1.31M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.31M
        decimal_point = numpunct.decimal_point();
1786
1.31M
    }
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
1.05M
    {
1780
1.05M
        auto stdloc = loc.get<std::locale>();
1781
1.05M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.05M
        grouping = numpunct.grouping();
1783
1.05M
        thousands_sep =
1784
1.05M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.05M
        decimal_point = numpunct.decimal_point();
1786
1.05M
    }
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
254k
    {
1780
254k
        auto stdloc = loc.get<std::locale>();
1781
254k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
254k
        grouping = numpunct.grouping();
1783
254k
        thousands_sep =
1784
254k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
254k
        decimal_point = numpunct.decimal_point();
1786
254k
    }
1787
1788
    std::string grouping{};
1789
    CharT thousands_sep{0};
1790
    CharT decimal_point{CharT{'.'}};
1791
};
1792
}  // namespace impl
1793
1794
#else
1795
1796
namespace impl {
1797
struct set_clocale_classic_guard {
1798
    set_clocale_classic_guard(int) {}
1799
};
1800
1801
struct classic_with_thsep_tag {};
1802
1803
template <typename CharT>
1804
struct localized_number_formatting_options {
1805
    localized_number_formatting_options() = default;
1806
1807
    localized_number_formatting_options(classic_with_thsep_tag)
1808
    {
1809
        grouping = "\3";
1810
        thousands_sep = CharT{','};
1811
    }
1812
1813
    std::string grouping{};
1814
    CharT thousands_sep{0};
1815
    CharT decimal_point{CharT{'.'}};
1816
};
1817
}  // namespace impl
1818
1819
#endif  // !SCN_DISABLE_LOCALE
1820
1821
/////////////////////////////////////////////////////////////////
1822
// Range reading algorithms
1823
/////////////////////////////////////////////////////////////////
1824
1825
namespace impl {
1826
1827
std::string_view::iterator find_classic_space_narrow_fast(
1828
    std::string_view source);
1829
1830
std::string_view::iterator find_classic_nonspace_narrow_fast(
1831
    std::string_view source);
1832
1833
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1834
    std::string_view source);
1835
1836
template <typename Range>
1837
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1838
935k
{
1839
935k
    return ranges::next(range.begin(), range.end());
1840
935k
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
647k
{
1839
647k
    return ranges::next(range.begin(), range.end());
1840
647k
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
96
{
1839
96
    return ranges::next(range.begin(), range.end());
1840
96
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
287k
{
1839
287k
    return ranges::next(range.begin(), range.end());
1840
287k
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
48
{
1839
48
    return ranges::next(range.begin(), range.end());
1840
48
}
1841
1842
template <typename Range>
1843
auto read_code_unit(Range range)
1844
    -> eof_expected<ranges::const_iterator_t<Range>>
1845
12.7M
{
1846
12.7M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
26.8k
        return unexpected(e);
1848
26.8k
    }
1849
1850
12.6M
    return ranges::next(range.begin());
1851
12.7M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
5.92M
{
1846
5.92M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
19.1k
        return unexpected(e);
1848
19.1k
    }
1849
1850
5.90M
    return ranges::next(range.begin());
1851
5.92M
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
1.89k
{
1846
1.89k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
1.89k
    return ranges::next(range.begin());
1851
1.89k
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
34
{
1846
34
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
34
    return ranges::next(range.begin());
1851
34
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
4.20M
{
1846
4.20M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
5.28k
        return unexpected(e);
1848
5.28k
    }
1849
1850
4.20M
    return ranges::next(range.begin());
1851
4.20M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
1.49M
{
1846
1.49M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
1.88k
        return unexpected(e);
1848
1.88k
    }
1849
1850
1.48M
    return ranges::next(range.begin());
1851
1.49M
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
878
{
1846
878
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
878
    return ranges::next(range.begin());
1851
878
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
34
{
1846
34
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
34
    return ranges::next(range.begin());
1851
34
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
1.08M
{
1846
1.08M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
566
        return unexpected(e);
1848
566
    }
1849
1850
1.08M
    return ranges::next(range.begin());
1851
1.08M
}
1852
1853
template <typename Range>
1854
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1855
    -> eof_expected<ranges::const_iterator_t<Range>>
1856
7.95M
{
1857
7.95M
    SCN_EXPECT(count >= 0);
1858
1859
7.95M
    if constexpr (ranges::sized_range<Range>) {
1860
6.42M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
6.42M
        if (sz < count) {
1862
79.7k
            return unexpected(eof_error::eof);
1863
79.7k
        }
1864
1865
1.44M
        return ranges::next(range.begin(), count);
1866
1.52M
    }
1867
6.42M
    else {
1868
6.42M
        auto it = range.begin();
1869
6.42M
        if (guaranteed_minimum_size(range) >= count) {
1870
4.65M
            return ranges::next(it, count);
1871
4.65M
        }
1872
1873
6.78M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
5.14M
            if (it == range.end()) {
1875
136k
                return unexpected(eof_error::eof);
1876
136k
            }
1877
5.14M
        }
1878
1879
1.63M
        return it;
1880
1.77M
    }
1881
7.95M
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
4.91M
{
1857
4.91M
    SCN_EXPECT(count >= 0);
1858
1859
4.91M
    if constexpr (ranges::sized_range<Range>) {
1860
4.91M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
4.91M
        if (sz < count) {
1862
4.91M
            return unexpected(eof_error::eof);
1863
4.91M
        }
1864
1865
4.91M
        return ranges::next(range.begin(), count);
1866
4.91M
    }
1867
4.91M
    else {
1868
4.91M
        auto it = range.begin();
1869
4.91M
        if (guaranteed_minimum_size(range) >= count) {
1870
3.67M
            return ranges::next(it, count);
1871
3.67M
        }
1872
1873
4.80M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
3.61M
            if (it == range.end()) {
1875
56.5k
                return unexpected(eof_error::eof);
1876
56.5k
            }
1877
3.61M
        }
1878
1879
1.18M
        return it;
1880
1.24M
    }
1881
4.91M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
20.8k
{
1857
20.8k
    SCN_EXPECT(count >= 0);
1858
1859
20.8k
    if constexpr (ranges::sized_range<Range>) {
1860
20.8k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
20.8k
        if (sz < count) {
1862
440
            return unexpected(eof_error::eof);
1863
440
        }
1864
1865
20.4k
        return ranges::next(range.begin(), count);
1866
20.8k
    }
1867
20.8k
    else {
1868
20.8k
        auto it = range.begin();
1869
20.8k
        if (guaranteed_minimum_size(range) >= count) {
1870
20.8k
            return ranges::next(it, count);
1871
20.8k
        }
1872
1873
20.8k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
20.8k
            if (it == range.end()) {
1875
20.8k
                return unexpected(eof_error::eof);
1876
20.8k
            }
1877
20.8k
        }
1878
1879
20.8k
        return it;
1880
20.8k
    }
1881
20.8k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
3.62k
{
1857
3.62k
    SCN_EXPECT(count >= 0);
1858
1859
3.62k
    if constexpr (ranges::sized_range<Range>) {
1860
3.62k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
3.62k
        if (sz < count) {
1862
3.62k
            return unexpected(eof_error::eof);
1863
3.62k
        }
1864
1865
3.62k
        return ranges::next(range.begin(), count);
1866
3.62k
    }
1867
3.62k
    else {
1868
3.62k
        auto it = range.begin();
1869
3.62k
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
13.3k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
9.90k
            if (it == range.end()) {
1875
196
                return unexpected(eof_error::eof);
1876
196
            }
1877
9.90k
        }
1878
1879
3.42k
        return it;
1880
3.62k
    }
1881
3.62k
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
1.50M
{
1857
1.50M
    SCN_EXPECT(count >= 0);
1858
1859
1.50M
    if constexpr (ranges::sized_range<Range>) {
1860
1.50M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.50M
        if (sz < count) {
1862
1.50M
            return unexpected(eof_error::eof);
1863
1.50M
        }
1864
1865
1.50M
        return ranges::next(range.begin(), count);
1866
1.50M
    }
1867
1.50M
    else {
1868
1.50M
        auto it = range.begin();
1869
1.50M
        if (guaranteed_minimum_size(range) >= count) {
1870
977k
            return ranges::next(it, count);
1871
977k
        }
1872
1873
1.95M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.51M
            if (it == range.end()) {
1875
79.0k
                return unexpected(eof_error::eof);
1876
79.0k
            }
1877
1.51M
        }
1878
1879
445k
        return it;
1880
524k
    }
1881
1.50M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
1.50M
{
1857
1.50M
    SCN_EXPECT(count >= 0);
1858
1859
1.50M
    if constexpr (ranges::sized_range<Range>) {
1860
1.50M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.50M
        if (sz < count) {
1862
79.2k
            return unexpected(eof_error::eof);
1863
79.2k
        }
1864
1865
1.42M
        return ranges::next(range.begin(), count);
1866
1.50M
    }
1867
1.50M
    else {
1868
1.50M
        auto it = range.begin();
1869
1.50M
        if (guaranteed_minimum_size(range) >= count) {
1870
1.50M
            return ranges::next(it, count);
1871
1.50M
        }
1872
1873
1.50M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.50M
            if (it == range.end()) {
1875
1.50M
                return unexpected(eof_error::eof);
1876
1.50M
            }
1877
1.50M
        }
1878
1879
1.50M
        return it;
1880
1.50M
    }
1881
1.50M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
548
{
1857
548
    SCN_EXPECT(count >= 0);
1858
1859
548
    if constexpr (ranges::sized_range<Range>) {
1860
548
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
548
        if (sz < count) {
1862
548
            return unexpected(eof_error::eof);
1863
548
        }
1864
1865
548
        return ranges::next(range.begin(), count);
1866
548
    }
1867
548
    else {
1868
548
        auto it = range.begin();
1869
548
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.78k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.32k
            if (it == range.end()) {
1875
82
                return unexpected(eof_error::eof);
1876
82
            }
1877
1.32k
        }
1878
1879
466
        return it;
1880
548
    }
1881
548
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1856
214
{
1857
214
    SCN_EXPECT(count >= 0);
1858
1859
214
    if constexpr (ranges::sized_range<Range>) {
1860
214
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
214
        if (sz < count) {
1862
214
            return unexpected(eof_error::eof);
1863
214
        }
1864
1865
214
        return ranges::next(range.begin(), count);
1866
214
    }
1867
214
    else {
1868
214
        auto it = range.begin();
1869
214
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
844
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
690
            if (it == range.end()) {
1875
60
                return unexpected(eof_error::eof);
1876
60
            }
1877
690
        }
1878
1879
154
        return it;
1880
214
    }
1881
214
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
620
{
1857
620
    SCN_EXPECT(count >= 0);
1858
1859
620
    if constexpr (ranges::sized_range<Range>) {
1860
620
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
620
        if (sz < count) {
1862
620
            return unexpected(eof_error::eof);
1863
620
        }
1864
1865
620
        return ranges::next(range.begin(), count);
1866
620
    }
1867
620
    else {
1868
620
        auto it = range.begin();
1869
620
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
3.08k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
2.59k
            if (it == range.end()) {
1875
130
                return unexpected(eof_error::eof);
1876
130
            }
1877
2.59k
        }
1878
1879
490
        return it;
1880
620
    }
1881
620
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
264
{
1857
264
    SCN_EXPECT(count >= 0);
1858
1859
264
    if constexpr (ranges::sized_range<Range>) {
1860
264
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
264
        if (sz < count) {
1862
264
            return unexpected(eof_error::eof);
1863
264
        }
1864
1865
264
        return ranges::next(range.begin(), count);
1866
264
    }
1867
264
    else {
1868
264
        auto it = range.begin();
1869
264
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.30k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.10k
            if (it == range.end()) {
1875
58
                return unexpected(eof_error::eof);
1876
58
            }
1877
1.10k
        }
1878
1879
206
        return it;
1880
264
    }
1881
264
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
1882
1883
template <typename Iterator, typename CharT>
1884
struct read_code_point_into_result {
1885
    Iterator iterator;
1886
    std::basic_string<CharT> codepoint;
1887
1888
    bool is_valid() const
1889
85.7M
    {
1890
85.7M
        return !codepoint.empty();
1891
85.7M
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
1889
23.5k
    {
1890
23.5k
        return !codepoint.empty();
1891
23.5k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
Line
Count
Source
1889
7.81M
    {
1890
7.81M
        return !codepoint.empty();
1891
7.81M
    }
scn::v3::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
1889
261k
    {
1890
261k
        return !codepoint.empty();
1891
261k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
1889
7.67k
    {
1890
7.67k
        return !codepoint.empty();
1891
7.67k
    }
scn::v3::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
1889
51.5M
    {
1890
51.5M
        return !codepoint.empty();
1891
51.5M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
Line
Count
Source
1889
26.0M
    {
1890
26.0M
        return !codepoint.empty();
1891
26.0M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
1889
3.02k
    {
1890
3.02k
        return !codepoint.empty();
1891
3.02k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
1889
796
    {
1890
796
        return !codepoint.empty();
1891
796
    }
1892
};
1893
1894
template <typename Range>
1895
auto read_code_point_into(Range range)
1896
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
1897
                                   detail::char_t<Range>>
1898
85.7M
{
1899
85.7M
    SCN_EXPECT(!is_range_eof(range));
1900
85.7M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
85.7M
    auto it = range.begin();
1903
85.7M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
85.7M
    if (SCN_UNLIKELY(len == 0)) {
1906
34.6k
        ++it;
1907
34.6k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
34.6k
        return {it, {}};
1909
34.6k
    }
1910
1911
85.7M
    if (len == 1) {
1912
85.5M
        ++it;
1913
85.5M
        return {it, string_type(1, *range.begin())};
1914
85.5M
    }
1915
1916
164k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
164k
    return {it, string_type{range.begin(), it}};
1918
85.7M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
23.5k
{
1899
23.5k
    SCN_EXPECT(!is_range_eof(range));
1900
23.5k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
23.5k
    auto it = range.begin();
1903
23.5k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
23.5k
    if (SCN_UNLIKELY(len == 0)) {
1906
3.17k
        ++it;
1907
3.17k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
3.17k
        return {it, {}};
1909
3.17k
    }
1910
1911
20.3k
    if (len == 1) {
1912
17.6k
        ++it;
1913
17.6k
        return {it, string_type(1, *range.begin())};
1914
17.6k
    }
1915
1916
2.73k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
2.73k
    return {it, string_type{range.begin(), it}};
1918
20.3k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
7.81M
{
1899
7.81M
    SCN_EXPECT(!is_range_eof(range));
1900
7.81M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
7.81M
    auto it = range.begin();
1903
7.81M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
7.81M
    if (SCN_UNLIKELY(len == 0)) {
1906
30.5k
        ++it;
1907
30.5k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
30.5k
        return {it, {}};
1909
30.5k
    }
1910
1911
7.78M
    if (len == 1) {
1912
7.65M
        ++it;
1913
7.65M
        return {it, string_type(1, *range.begin())};
1914
7.65M
    }
1915
1916
125k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
125k
    return {it, string_type{range.begin(), it}};
1918
7.78M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
261k
{
1899
261k
    SCN_EXPECT(!is_range_eof(range));
1900
261k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
261k
    auto it = range.begin();
1903
261k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
261k
    if (SCN_UNLIKELY(len == 0)) {
1906
954
        ++it;
1907
954
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
954
        return {it, {}};
1909
954
    }
1910
1911
260k
    if (len == 1) {
1912
225k
        ++it;
1913
225k
        return {it, string_type(1, *range.begin())};
1914
225k
    }
1915
1916
35.2k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
35.2k
    return {it, string_type{range.begin(), it}};
1918
260k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
51.5M
{
1899
51.5M
    SCN_EXPECT(!is_range_eof(range));
1900
51.5M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
51.5M
    auto it = range.begin();
1903
51.5M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
51.5M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
51.5M
    if (len == 1) {
1912
51.5M
        ++it;
1913
51.5M
        return {it, string_type(1, *range.begin())};
1914
51.5M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
51.5M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
7.67k
{
1899
7.67k
    SCN_EXPECT(!is_range_eof(range));
1900
7.67k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
7.67k
    auto it = range.begin();
1903
7.67k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
7.67k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
7.67k
    if (len == 1) {
1912
7.67k
        ++it;
1913
7.67k
        return {it, string_type(1, *range.begin())};
1914
7.67k
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
7.67k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
26.0M
{
1899
26.0M
    SCN_EXPECT(!is_range_eof(range));
1900
26.0M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
26.0M
    auto it = range.begin();
1903
26.0M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
26.0M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
26.0M
    if (len == 1) {
1912
26.0M
        ++it;
1913
26.0M
        return {it, string_type(1, *range.begin())};
1914
26.0M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
26.0M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
3.02k
{
1899
3.02k
    SCN_EXPECT(!is_range_eof(range));
1900
3.02k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
3.02k
    auto it = range.begin();
1903
3.02k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
3.02k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
3.02k
    if (len == 1) {
1912
2.29k
        ++it;
1913
2.29k
        return {it, string_type(1, *range.begin())};
1914
2.29k
    }
1915
1916
724
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
724
    return {it, string_type{range.begin(), it}};
1918
3.02k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
796
{
1899
796
    SCN_EXPECT(!is_range_eof(range));
1900
796
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
796
    auto it = range.begin();
1903
796
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
796
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
796
    if (len == 1) {
1912
796
        ++it;
1913
796
        return {it, string_type(1, *range.begin())};
1914
796
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
796
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
1919
1920
template <typename Range>
1921
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
1922
{
1923
    return read_code_point_into(range).iterator;
1924
}
1925
1926
template <typename Range>
1927
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
1928
    -> eof_expected<ranges::const_iterator_t<Range>>
1929
{
1930
    SCN_EXPECT(count >= 0);
1931
1932
    if (count > 0) {
1933
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1934
            return unexpected(e);
1935
        }
1936
    }
1937
1938
    auto it = range.begin();
1939
    for (std::ptrdiff_t i = 0; i < count; ++i) {
1940
        auto rng = ranges::subrange{it, range.end()};
1941
1942
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
1943
            return unexpected(e);
1944
        }
1945
1946
        it = read_code_point(rng);
1947
    }
1948
1949
    return it;
1950
}
1951
1952
template <typename Range>
1953
auto read_until_code_unit(Range range,
1954
                          function_ref<bool(detail::char_t<Range>)> pred)
1955
    -> ranges::const_iterator_t<Range>
1956
5.78M
{
1957
5.78M
    if constexpr (ranges::common_range<Range>) {
1958
4.92M
        return std::find_if(range.begin(), range.end(), pred);
1959
4.92M
    }
1960
4.92M
    else {
1961
4.92M
        auto first = range.begin();
1962
19.4M
        for (; first != range.end(); ++first) {
1963
19.3M
            if (pred(*first)) {
1964
4.87M
                return first;
1965
4.87M
            }
1966
19.3M
        }
1967
48.9k
        return first;
1968
4.92M
    }
1969
5.78M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
3.82M
{
1957
3.82M
    if constexpr (ranges::common_range<Range>) {
1958
3.82M
        return std::find_if(range.begin(), range.end(), pred);
1959
3.82M
    }
1960
3.82M
    else {
1961
3.82M
        auto first = range.begin();
1962
17.9M
        for (; first != range.end(); ++first) {
1963
17.8M
            if (pred(*first)) {
1964
3.78M
                return first;
1965
3.78M
            }
1966
17.8M
        }
1967
44.5k
        return first;
1968
3.82M
    }
1969
3.82M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
1.07k
{
1957
1.07k
    if constexpr (ranges::common_range<Range>) {
1958
1.07k
        return std::find_if(range.begin(), range.end(), pred);
1959
1.07k
    }
1960
1.07k
    else {
1961
1.07k
        auto first = range.begin();
1962
1.07k
        for (; first != range.end(); ++first) {
1963
1.07k
            if (pred(*first)) {
1964
1.07k
                return first;
1965
1.07k
            }
1966
1.07k
        }
1967
0
        return first;
1968
1.07k
    }
1969
1.07k
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
561k
{
1957
561k
    if constexpr (ranges::common_range<Range>) {
1958
561k
        return std::find_if(range.begin(), range.end(), pred);
1959
561k
    }
1960
561k
    else {
1961
561k
        auto first = range.begin();
1962
561k
        for (; first != range.end(); ++first) {
1963
561k
            if (pred(*first)) {
1964
561k
                return first;
1965
561k
            }
1966
561k
        }
1967
561k
        return first;
1968
561k
    }
1969
561k
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
528
{
1957
528
    if constexpr (ranges::common_range<Range>) {
1958
528
        return std::find_if(range.begin(), range.end(), pred);
1959
528
    }
1960
528
    else {
1961
528
        auto first = range.begin();
1962
8.25k
        for (; first != range.end(); ++first) {
1963
7.98k
            if (pred(*first)) {
1964
266
                return first;
1965
266
            }
1966
7.98k
        }
1967
262
        return first;
1968
528
    }
1969
528
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
1.09M
{
1957
1.09M
    if constexpr (ranges::common_range<Range>) {
1958
1.09M
        return std::find_if(range.begin(), range.end(), pred);
1959
1.09M
    }
1960
1.09M
    else {
1961
1.09M
        auto first = range.begin();
1962
1.48M
        for (; first != range.end(); ++first) {
1963
1.48M
            if (pred(*first)) {
1964
1.08M
                return first;
1965
1.08M
            }
1966
1.48M
        }
1967
3.89k
        return first;
1968
1.09M
    }
1969
1.09M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
482
{
1957
482
    if constexpr (ranges::common_range<Range>) {
1958
482
        return std::find_if(range.begin(), range.end(), pred);
1959
482
    }
1960
482
    else {
1961
482
        auto first = range.begin();
1962
482
        for (; first != range.end(); ++first) {
1963
482
            if (pred(*first)) {
1964
482
                return first;
1965
482
            }
1966
482
        }
1967
0
        return first;
1968
482
    }
1969
482
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
300k
{
1957
300k
    if constexpr (ranges::common_range<Range>) {
1958
300k
        return std::find_if(range.begin(), range.end(), pred);
1959
300k
    }
1960
300k
    else {
1961
300k
        auto first = range.begin();
1962
300k
        for (; first != range.end(); ++first) {
1963
300k
            if (pred(*first)) {
1964
300k
                return first;
1965
300k
            }
1966
300k
        }
1967
300k
        return first;
1968
300k
    }
1969
300k
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
208
{
1957
208
    if constexpr (ranges::common_range<Range>) {
1958
208
        return std::find_if(range.begin(), range.end(), pred);
1959
208
    }
1960
208
    else {
1961
208
        auto first = range.begin();
1962
1.79k
        for (; first != range.end(); ++first) {
1963
1.66k
            if (pred(*first)) {
1964
80
                return first;
1965
80
            }
1966
1.66k
        }
1967
128
        return first;
1968
208
    }
1969
208
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
476
{
1957
476
    if constexpr (ranges::common_range<Range>) {
1958
476
        return std::find_if(range.begin(), range.end(), pred);
1959
476
    }
1960
476
    else {
1961
476
        auto first = range.begin();
1962
838
        for (; first != range.end(); ++first) {
1963
784
            if (pred(*first)) {
1964
422
                return first;
1965
422
            }
1966
784
        }
1967
54
        return first;
1968
476
    }
1969
476
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
234
{
1957
234
    if constexpr (ranges::common_range<Range>) {
1958
234
        return std::find_if(range.begin(), range.end(), pred);
1959
234
    }
1960
234
    else {
1961
234
        auto first = range.begin();
1962
314
        for (; first != range.end(); ++first) {
1963
280
            if (pred(*first)) {
1964
200
                return first;
1965
200
            }
1966
280
        }
1967
34
        return first;
1968
234
    }
1969
234
}
1970
1971
template <typename Range>
1972
auto read_while_code_unit(Range range,
1973
                          function_ref<bool(detail::char_t<Range>)> pred)
1974
    -> ranges::const_iterator_t<Range>
1975
5.78M
{
1976
5.78M
    return read_until_code_unit(range, std::not_fn(pred));
1977
5.78M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
3.82M
{
1976
3.82M
    return read_until_code_unit(range, std::not_fn(pred));
1977
3.82M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
1.07k
{
1976
1.07k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.07k
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
561k
{
1976
561k
    return read_until_code_unit(range, std::not_fn(pred));
1977
561k
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
288
{
1976
288
    return read_until_code_unit(range, std::not_fn(pred));
1977
288
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
1.09M
{
1976
1.09M
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.09M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
482
{
1976
482
    return read_until_code_unit(range, std::not_fn(pred));
1977
482
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
300k
{
1976
300k
    return read_until_code_unit(range, std::not_fn(pred));
1977
300k
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
106
{
1976
106
    return read_until_code_unit(range, std::not_fn(pred));
1977
106
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
476
{
1976
476
    return read_until_code_unit(range, std::not_fn(pred));
1977
476
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
234
{
1976
234
    return read_until_code_unit(range, std::not_fn(pred));
1977
234
}
1978
1979
template <typename Range>
1980
auto read_until1_code_unit(Range range,
1981
                           function_ref<bool(detail::char_t<Range>)> pred)
1982
    -> parse_expected<ranges::const_iterator_t<Range>>
1983
{
1984
    auto it = read_until_code_unit(range, pred);
1985
    if (it == range.begin()) {
1986
        return unexpected(parse_error::error);
1987
    }
1988
    return it;
1989
}
1990
1991
template <typename Range>
1992
auto read_while1_code_unit(Range range,
1993
                           function_ref<bool(detail::char_t<Range>)> pred)
1994
    -> parse_expected<ranges::const_iterator_t<Range>>
1995
5.75M
{
1996
5.75M
    auto it = read_while_code_unit(range, pred);
1997
5.75M
    if (it == range.begin()) {
1998
2.14M
        return unexpected(parse_error::error);
1999
2.14M
    }
2000
3.60M
    return it;
2001
5.75M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
3.82M
{
1996
3.82M
    auto it = read_while_code_unit(range, pred);
1997
3.82M
    if (it == range.begin()) {
1998
964k
        return unexpected(parse_error::error);
1999
964k
    }
2000
2.85M
    return it;
2001
3.82M
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
1.07k
{
1996
1.07k
    auto it = read_while_code_unit(range, pred);
1997
1.07k
    if (it == range.begin()) {
1998
1.07k
        return unexpected(parse_error::error);
1999
1.07k
    }
2000
0
    return it;
2001
1.07k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
551k
{
1996
551k
    auto it = read_while_code_unit(range, pred);
1997
551k
    if (it == range.begin()) {
1998
232k
        return unexpected(parse_error::error);
1999
232k
    }
2000
318k
    return it;
2001
551k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
1.08M
{
1996
1.08M
    auto it = read_while_code_unit(range, pred);
1997
1.08M
    if (it == range.begin()) {
1998
767k
        return unexpected(parse_error::error);
1999
767k
    }
2000
321k
    return it;
2001
1.08M
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
482
{
1996
482
    auto it = read_while_code_unit(range, pred);
1997
482
    if (it == range.begin()) {
1998
482
        return unexpected(parse_error::error);
1999
482
    }
2000
0
    return it;
2001
482
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
292k
{
1996
292k
    auto it = read_while_code_unit(range, pred);
1997
292k
    if (it == range.begin()) {
1998
180k
        return unexpected(parse_error::error);
1999
180k
    }
2000
111k
    return it;
2001
292k
}
2002
2003
template <typename Range, typename CodeUnits>
2004
auto read_until_code_units(Range range, const CodeUnits& needle)
2005
    -> ranges::const_iterator_t<Range>
2006
126
{
2007
126
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
126
    if constexpr (ranges::common_range<Range>) {
2010
60
        return std::search(range.begin(), range.end(), needle.begin(),
2011
60
                           needle.end());
2012
60
    }
2013
60
    else {
2014
60
        auto first = range.begin();
2015
258
        while (true) {
2016
258
            auto it = first;
2017
354
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
354
                if (needle_it == needle.end()) {
2019
30
                    return first;
2020
30
                }
2021
324
                if (it == range.end()) {
2022
30
                    return it;
2023
30
                }
2024
294
                if (*it != *needle_it) {
2025
198
                    break;
2026
198
                }
2027
294
            }
2028
198
            ++first;
2029
198
        }
2030
60
    }
2031
126
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2006
60
{
2007
60
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
60
    if constexpr (ranges::common_range<Range>) {
2010
60
        return std::search(range.begin(), range.end(), needle.begin(),
2011
60
                           needle.end());
2012
60
    }
2013
60
    else {
2014
60
        auto first = range.begin();
2015
258
        while (true) {
2016
258
            auto it = first;
2017
354
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
354
                if (needle_it == needle.end()) {
2019
30
                    return first;
2020
30
                }
2021
324
                if (it == range.end()) {
2022
30
                    return it;
2023
30
                }
2024
294
                if (*it != *needle_it) {
2025
198
                    break;
2026
198
                }
2027
294
            }
2028
198
            ++first;
2029
198
        }
2030
60
    }
2031
60
}
_ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2006
66
{
2007
66
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
66
    if constexpr (ranges::common_range<Range>) {
2010
66
        return std::search(range.begin(), range.end(), needle.begin(),
2011
66
                           needle.end());
2012
66
    }
2013
66
    else {
2014
66
        auto first = range.begin();
2015
66
        while (true) {
2016
66
            auto it = first;
2017
66
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
66
                if (needle_it == needle.end()) {
2019
66
                    return first;
2020
66
                }
2021
66
                if (it == range.end()) {
2022
66
                    return it;
2023
66
                }
2024
66
                if (*it != *needle_it) {
2025
66
                    break;
2026
66
                }
2027
66
            }
2028
66
            ++first;
2029
66
        }
2030
66
    }
2031
66
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2032
2033
template <typename Range, typename CodeUnits>
2034
auto read_while_code_units(Range range, const CodeUnits& needle)
2035
    -> ranges::const_iterator_t<Range>
2036
528
{
2037
528
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
528
    auto it = range.begin();
2040
726
    while (it != range.end()) {
2041
696
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
696
                                           needle.size());
2043
696
        if (!r) {
2044
88
            return it;
2045
88
        }
2046
608
        static_assert(
2047
608
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
608
        if (!std::equal(it, *r, needle.begin())) {
2049
410
            return it;
2050
410
        }
2051
198
        it = *r;
2052
198
    }
2053
30
    SCN_ENSURE(it == range.end());
2054
30
    return it;
2055
30
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2036
180
{
2037
180
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
180
    auto it = range.begin();
2040
288
    while (it != range.end()) {
2041
288
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
288
                                           needle.size());
2043
288
        if (!r) {
2044
6
            return it;
2045
6
        }
2046
282
        static_assert(
2047
282
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
282
        if (!std::equal(it, *r, needle.begin())) {
2049
174
            return it;
2050
174
        }
2051
108
        it = *r;
2052
108
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2036
134
{
2037
134
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
134
    auto it = range.begin();
2040
224
    while (it != range.end()) {
2041
194
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
194
                                           needle.size());
2043
194
        if (!r) {
2044
22
            return it;
2045
22
        }
2046
172
        static_assert(
2047
172
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
172
        if (!std::equal(it, *r, needle.begin())) {
2049
82
            return it;
2050
82
        }
2051
90
        it = *r;
2052
90
    }
2053
30
    SCN_ENSURE(it == range.end());
2054
30
    return it;
2055
30
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2036
214
{
2037
214
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
214
    auto it = range.begin();
2040
214
    while (it != range.end()) {
2041
214
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
214
                                           needle.size());
2043
214
        if (!r) {
2044
60
            return it;
2045
60
        }
2046
154
        static_assert(
2047
154
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
154
        if (!std::equal(it, *r, needle.begin())) {
2049
154
            return it;
2050
154
        }
2051
0
        it = *r;
2052
0
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2056
2057
template <typename Range>
2058
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2059
    -> ranges::const_iterator_t<Range>
2060
9.65M
{
2061
9.65M
    auto it = range.begin();
2062
86.0M
    while (it != range.end()) {
2063
85.7M
        const auto val =
2064
85.7M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
85.7M
        if (SCN_LIKELY(val.is_valid())) {
2066
85.7M
            const auto cp = detail::decode_code_point_exhaustive(
2067
85.7M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
85.7M
            if (pred(cp)) {
2069
9.39M
                return it;
2070
9.39M
            }
2071
85.7M
        }
2072
76.3M
        it = val.iterator;
2073
76.3M
    }
2074
2075
255k
    return it;
2076
9.65M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
798
{
2061
798
    auto it = range.begin();
2062
12.7k
    while (it != range.end()) {
2063
12.4k
        const auto val =
2064
12.4k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
12.4k
        if (SCN_LIKELY(val.is_valid())) {
2066
11.5k
            const auto cp = detail::decode_code_point_exhaustive(
2067
11.5k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
11.5k
            if (pred(cp)) {
2069
574
                return it;
2070
574
            }
2071
11.5k
        }
2072
11.9k
        it = val.iterator;
2073
11.9k
    }
2074
2075
224
    return it;
2076
798
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
3.39M
{
2061
3.39M
    auto it = range.begin();
2062
7.85M
    while (it != range.end()) {
2063
7.81M
        const auto val =
2064
7.81M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
7.81M
        if (SCN_LIKELY(val.is_valid())) {
2066
7.78M
            const auto cp = detail::decode_code_point_exhaustive(
2067
7.78M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
7.78M
            if (pred(cp)) {
2069
3.35M
                return it;
2070
3.35M
            }
2071
7.78M
        }
2072
4.46M
        it = val.iterator;
2073
4.46M
    }
2074
2075
38.8k
    return it;
2076
3.39M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
738
{
2061
738
    auto it = range.begin();
2062
11.6k
    while (it != range.end()) {
2063
11.0k
        const auto val =
2064
11.0k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
11.0k
        if (SCN_LIKELY(val.is_valid())) {
2066
8.82k
            const auto cp = detail::decode_code_point_exhaustive(
2067
8.82k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
8.82k
            if (pred(cp)) {
2069
162
                return it;
2070
162
            }
2071
8.82k
        }
2072
10.8k
        it = val.iterator;
2073
10.8k
    }
2074
2075
576
    return it;
2076
738
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
2.35k
{
2061
2.35k
    auto it = range.begin();
2062
261k
    while (it != range.end()) {
2063
261k
        const auto val =
2064
261k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
261k
        if (SCN_LIKELY(val.is_valid())) {
2066
260k
            const auto cp = detail::decode_code_point_exhaustive(
2067
260k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
260k
            if (pred(cp)) {
2069
2.19k
                return it;
2070
2.19k
            }
2071
260k
        }
2072
259k
        it = val.iterator;
2073
259k
    }
2074
2075
162
    return it;
2076
2.35k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2060
3.36k
{
2061
3.36k
    auto it = range.begin();
2062
4.40k
    while (it != range.end()) {
2063
3.53k
        const auto val =
2064
3.53k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
3.53k
        if (SCN_LIKELY(val.is_valid())) {
2066
3.53k
            const auto cp = detail::decode_code_point_exhaustive(
2067
3.53k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
3.53k
            if (pred(cp)) {
2069
2.50k
                return it;
2070
2.50k
            }
2071
3.53k
        }
2072
1.03k
        it = val.iterator;
2073
1.03k
    }
2074
2075
866
    return it;
2076
3.36k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
270
{
2061
270
    auto it = range.begin();
2062
660
    while (it != range.end()) {
2063
618
        const auto val =
2064
618
            read_code_point_into(ranges::subrange{it, range.end()});
2065
618
        if (SCN_LIKELY(val.is_valid())) {
2066
618
            const auto cp = detail::decode_code_point_exhaustive(
2067
618
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
618
            if (pred(cp)) {
2069
228
                return it;
2070
228
            }
2071
618
        }
2072
390
        it = val.iterator;
2073
390
    }
2074
2075
42
    return it;
2076
270
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
3.99M
{
2061
3.99M
    auto it = range.begin();
2062
51.7M
    while (it != range.end()) {
2063
51.5M
        const auto val =
2064
51.5M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
51.5M
        if (SCN_LIKELY(val.is_valid())) {
2066
51.5M
            const auto cp = detail::decode_code_point_exhaustive(
2067
51.5M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
51.5M
            if (pred(cp)) {
2069
3.79M
                return it;
2070
3.79M
            }
2071
51.5M
        }
2072
47.7M
        it = val.iterator;
2073
47.7M
    }
2074
2075
203k
    return it;
2076
3.99M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
2.25M
{
2061
2.25M
    auto it = range.begin();
2062
26.0M
    while (it != range.end()) {
2063
26.0M
        const auto val =
2064
26.0M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
26.0M
        if (SCN_LIKELY(val.is_valid())) {
2066
26.0M
            const auto cp = detail::decode_code_point_exhaustive(
2067
26.0M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
26.0M
            if (pred(cp)) {
2069
2.24M
                return it;
2070
2.24M
            }
2071
26.0M
        }
2072
23.8M
        it = val.iterator;
2073
23.8M
    }
2074
2075
11.6k
    return it;
2076
2.25M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
312
{
2061
312
    auto it = range.begin();
2062
7.33k
    while (it != range.end()) {
2063
7.05k
        const auto val =
2064
7.05k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
7.05k
        if (SCN_LIKELY(val.is_valid())) {
2066
7.05k
            const auto cp = detail::decode_code_point_exhaustive(
2067
7.05k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
7.05k
            if (pred(cp)) {
2069
36
                return it;
2070
36
            }
2071
7.05k
        }
2072
7.02k
        it = val.iterator;
2073
7.02k
    }
2074
2075
276
    return it;
2076
312
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
1.94k
{
2061
1.94k
    auto it = range.begin();
2062
3.19k
    while (it != range.end()) {
2063
3.02k
        const auto val =
2064
3.02k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
3.02k
        if (SCN_LIKELY(val.is_valid())) {
2066
3.02k
            const auto cp = detail::decode_code_point_exhaustive(
2067
3.02k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
3.02k
            if (pred(cp)) {
2069
1.76k
                return it;
2070
1.76k
            }
2071
3.02k
        }
2072
1.25k
        it = val.iterator;
2073
1.25k
    }
2074
2075
174
    return it;
2076
1.94k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
796
{
2061
796
    auto it = range.begin();
2062
796
    while (it != range.end()) {
2063
796
        const auto val =
2064
796
            read_code_point_into(ranges::subrange{it, range.end()});
2065
796
        if (SCN_LIKELY(val.is_valid())) {
2066
796
            const auto cp = detail::decode_code_point_exhaustive(
2067
796
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
796
            if (pred(cp)) {
2069
796
                return it;
2070
796
            }
2071
796
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
796
}
2077
2078
template <typename Range>
2079
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2080
    -> ranges::const_iterator_t<Range>
2081
7.06M
{
2082
7.06M
    return read_until_code_point(range, std::not_fn(pred));
2083
7.06M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
666
{
2082
666
    return read_until_code_point(range, std::not_fn(pred));
2083
666
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
3.24M
{
2082
3.24M
    return read_until_code_point(range, std::not_fn(pred));
2083
3.24M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
2.16k
{
2082
2.16k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.16k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2081
3.36k
{
2082
3.36k
    return read_until_code_point(range, std::not_fn(pred));
2083
3.36k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
186
{
2082
186
    return read_until_code_point(range, std::not_fn(pred));
2083
186
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
2.26M
{
2082
2.26M
    return read_until_code_point(range, std::not_fn(pred));
2083
2.26M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
1.54M
{
2082
1.54M
    return read_until_code_point(range, std::not_fn(pred));
2083
1.54M
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
1.94k
{
2082
1.94k
    return read_until_code_point(range, std::not_fn(pred));
2083
1.94k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
796
{
2082
796
    return read_until_code_point(range, std::not_fn(pred));
2083
796
}
2084
2085
template <typename Range>
2086
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2087
3.73M
{
2088
3.73M
    if constexpr (ranges::contiguous_range<Range> &&
2089
3.73M
                  ranges::sized_range<Range> &&
2090
3.73M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
2.58M
        auto buf = make_contiguous_buffer(range);
2092
2.58M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
2.58M
        return ranges::next(range.begin(),
2094
2.58M
                            ranges::distance(buf.view().begin(), it));
2095
2.58M
    }
2096
2.58M
    else {
2097
2.58M
        auto it = range.begin();
2098
2099
2.58M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
148k
            auto seg = get_contiguous_beginning(range);
2101
148k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
148k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
148k
            ranges::advance(it, seg.size());
2106
148k
        }
2107
2108
148k
        return read_until_code_point(
2109
148k
            ranges::subrange{it, range.end()},
2110
71.3M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
944k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
8.82k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
23.2M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
7.05k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2110
46.5M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2110
529k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
2.58M
    }
2112
3.73M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
148k
{
2088
148k
    if constexpr (ranges::contiguous_range<Range> &&
2089
148k
                  ranges::sized_range<Range> &&
2090
148k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
148k
        auto buf = make_contiguous_buffer(range);
2092
148k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
148k
        return ranges::next(range.begin(),
2094
148k
                            ranges::distance(buf.view().begin(), it));
2095
148k
    }
2096
148k
    else {
2097
148k
        auto it = range.begin();
2098
2099
148k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
148k
            auto seg = get_contiguous_beginning(range);
2101
148k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
148k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
148k
            ranges::advance(it, seg.size());
2106
148k
        }
2107
2108
148k
        return read_until_code_point(
2109
148k
            ranges::subrange{it, range.end()},
2110
148k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
148k
    }
2112
148k
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
738
{
2088
738
    if constexpr (ranges::contiguous_range<Range> &&
2089
738
                  ranges::sized_range<Range> &&
2090
738
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
738
        auto buf = make_contiguous_buffer(range);
2092
738
        auto it = find_classic_space_narrow_fast(buf.view());
2093
738
        return ranges::next(range.begin(),
2094
738
                            ranges::distance(buf.view().begin(), it));
2095
738
    }
2096
738
    else {
2097
738
        auto it = range.begin();
2098
2099
738
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
738
            auto seg = get_contiguous_beginning(range);
2101
738
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
738
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
738
            ranges::advance(it, seg.size());
2106
738
        }
2107
2108
738
        return read_until_code_point(
2109
738
            ranges::subrange{it, range.end()},
2110
738
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
738
    }
2112
738
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
261k
{
2088
261k
    if constexpr (ranges::contiguous_range<Range> &&
2089
261k
                  ranges::sized_range<Range> &&
2090
261k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
261k
        auto buf = make_contiguous_buffer(range);
2092
261k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
261k
        return ranges::next(range.begin(),
2094
261k
                            ranges::distance(buf.view().begin(), it));
2095
261k
    }
2096
261k
    else {
2097
261k
        auto it = range.begin();
2098
2099
261k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
261k
            auto seg = get_contiguous_beginning(range);
2101
261k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
261k
                seg_it != seg.end()) {
2103
261k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
261k
            }
2105
261k
            ranges::advance(it, seg.size());
2106
261k
        }
2107
2108
261k
        return read_until_code_point(
2109
261k
            ranges::subrange{it, range.end()},
2110
261k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
261k
    }
2112
261k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
716k
{
2088
716k
    if constexpr (ranges::contiguous_range<Range> &&
2089
716k
                  ranges::sized_range<Range> &&
2090
716k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
716k
        auto buf = make_contiguous_buffer(range);
2092
716k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
716k
        return ranges::next(range.begin(),
2094
716k
                            ranges::distance(buf.view().begin(), it));
2095
716k
    }
2096
716k
    else {
2097
716k
        auto it = range.begin();
2098
2099
716k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
716k
            auto seg = get_contiguous_beginning(range);
2101
716k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
716k
                seg_it != seg.end()) {
2103
716k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
716k
            }
2105
716k
            ranges::advance(it, seg.size());
2106
716k
        }
2107
2108
716k
        return read_until_code_point(
2109
716k
            ranges::subrange{it, range.end()},
2110
716k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
716k
    }
2112
716k
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
312
{
2088
312
    if constexpr (ranges::contiguous_range<Range> &&
2089
312
                  ranges::sized_range<Range> &&
2090
312
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
312
        auto buf = make_contiguous_buffer(range);
2092
312
        auto it = find_classic_space_narrow_fast(buf.view());
2093
312
        return ranges::next(range.begin(),
2094
312
                            ranges::distance(buf.view().begin(), it));
2095
312
    }
2096
312
    else {
2097
312
        auto it = range.begin();
2098
2099
312
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
312
            auto seg = get_contiguous_beginning(range);
2101
312
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
312
                seg_it != seg.end()) {
2103
312
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
312
            }
2105
312
            ranges::advance(it, seg.size());
2106
312
        }
2107
2108
312
        return read_until_code_point(
2109
312
            ranges::subrange{it, range.end()},
2110
312
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
312
    }
2112
312
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
1.43M
{
2088
1.43M
    if constexpr (ranges::contiguous_range<Range> &&
2089
1.43M
                  ranges::sized_range<Range> &&
2090
1.43M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
1.43M
        auto buf = make_contiguous_buffer(range);
2092
1.43M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
1.43M
        return ranges::next(range.begin(),
2094
1.43M
                            ranges::distance(buf.view().begin(), it));
2095
1.43M
    }
2096
1.43M
    else {
2097
1.43M
        auto it = range.begin();
2098
2099
1.43M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
1.43M
            auto seg = get_contiguous_beginning(range);
2101
1.43M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
1.43M
                seg_it != seg.end()) {
2103
1.43M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
1.43M
            }
2105
1.43M
            ranges::advance(it, seg.size());
2106
1.43M
        }
2107
2108
1.43M
        return read_until_code_point(
2109
1.43M
            ranges::subrange{it, range.end()},
2110
1.43M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
1.43M
    }
2112
1.43M
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
881k
{
2088
881k
    if constexpr (ranges::contiguous_range<Range> &&
2089
881k
                  ranges::sized_range<Range> &&
2090
881k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
881k
        auto buf = make_contiguous_buffer(range);
2092
881k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
881k
        return ranges::next(range.begin(),
2094
881k
                            ranges::distance(buf.view().begin(), it));
2095
881k
    }
2096
881k
    else {
2097
881k
        auto it = range.begin();
2098
2099
881k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
881k
            auto seg = get_contiguous_beginning(range);
2101
881k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
881k
                seg_it != seg.end()) {
2103
881k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
881k
            }
2105
881k
            ranges::advance(it, seg.size());
2106
881k
        }
2107
2108
881k
        return read_until_code_point(
2109
881k
            ranges::subrange{it, range.end()},
2110
881k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
881k
    }
2112
881k
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
289k
{
2088
289k
    if constexpr (ranges::contiguous_range<Range> &&
2089
289k
                  ranges::sized_range<Range> &&
2090
289k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
289k
        auto buf = make_contiguous_buffer(range);
2092
289k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
289k
        return ranges::next(range.begin(),
2094
289k
                            ranges::distance(buf.view().begin(), it));
2095
289k
    }
2096
289k
    else {
2097
289k
        auto it = range.begin();
2098
2099
289k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
289k
            auto seg = get_contiguous_beginning(range);
2101
289k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
289k
                seg_it != seg.end()) {
2103
289k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
289k
            }
2105
289k
            ranges::advance(it, seg.size());
2106
289k
        }
2107
2108
289k
        return read_until_code_point(
2109
289k
            ranges::subrange{it, range.end()},
2110
289k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
289k
    }
2112
289k
}
2113
2114
template <typename Range>
2115
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2116
10.7M
{
2117
10.7M
    if constexpr (ranges::contiguous_range<Range> &&
2118
10.7M
                  ranges::sized_range<Range> &&
2119
10.7M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
7.27M
        auto buf = make_contiguous_buffer(range);
2121
7.27M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
7.27M
        return ranges::next(range.begin(),
2123
7.27M
                            ranges::distance(buf.view().begin(), it));
2124
7.27M
    }
2125
7.27M
    else {
2126
7.27M
        auto it = range.begin();
2127
2128
7.27M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.45M
            auto seg = get_contiguous_beginning(range);
2130
3.45M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.45M
                seg_it != seg.end()) {
2132
212k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
212k
            }
2134
3.24M
            ranges::advance(it, seg.size());
2135
3.24M
        }
2136
2137
3.24M
        return read_while_code_point(
2138
14.1M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
1.23k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
6.83M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2138
3.53k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
162
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2138
4.48M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
2.80M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
3.02k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
796
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
7.27M
    }
2140
10.7M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
468
{
2117
468
    if constexpr (ranges::contiguous_range<Range> &&
2118
468
                  ranges::sized_range<Range> &&
2119
468
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
468
        auto buf = make_contiguous_buffer(range);
2121
468
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
468
        return ranges::next(range.begin(),
2123
468
                            ranges::distance(buf.view().begin(), it));
2124
468
    }
2125
468
    else {
2126
468
        auto it = range.begin();
2127
2128
468
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
468
            auto seg = get_contiguous_beginning(range);
2130
468
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
468
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
468
            ranges::advance(it, seg.size());
2135
468
        }
2136
2137
468
        return read_while_code_point(
2138
468
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
468
    }
2140
468
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
3.43M
{
2117
3.43M
    if constexpr (ranges::contiguous_range<Range> &&
2118
3.43M
                  ranges::sized_range<Range> &&
2119
3.43M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
3.43M
        auto buf = make_contiguous_buffer(range);
2121
3.43M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
3.43M
        return ranges::next(range.begin(),
2123
3.43M
                            ranges::distance(buf.view().begin(), it));
2124
3.43M
    }
2125
3.43M
    else {
2126
3.43M
        auto it = range.begin();
2127
2128
3.43M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.43M
            auto seg = get_contiguous_beginning(range);
2130
3.43M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.43M
                seg_it != seg.end()) {
2132
3.43M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
3.43M
            }
2134
3.43M
            ranges::advance(it, seg.size());
2135
3.43M
        }
2136
2137
3.43M
        return read_while_code_point(
2138
3.43M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
3.43M
    }
2140
3.43M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
3.45M
{
2117
3.45M
    if constexpr (ranges::contiguous_range<Range> &&
2118
3.45M
                  ranges::sized_range<Range> &&
2119
3.45M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
3.45M
        auto buf = make_contiguous_buffer(range);
2121
3.45M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
3.45M
        return ranges::next(range.begin(),
2123
3.45M
                            ranges::distance(buf.view().begin(), it));
2124
3.45M
    }
2125
3.45M
    else {
2126
3.45M
        auto it = range.begin();
2127
2128
3.45M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.45M
            auto seg = get_contiguous_beginning(range);
2130
3.45M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.45M
                seg_it != seg.end()) {
2132
212k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
212k
            }
2134
3.24M
            ranges::advance(it, seg.size());
2135
3.24M
        }
2136
2137
3.24M
        return read_while_code_point(
2138
3.24M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
3.45M
    }
2140
3.45M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
3.36k
{
2117
3.36k
    if constexpr (ranges::contiguous_range<Range> &&
2118
3.36k
                  ranges::sized_range<Range> &&
2119
3.36k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
3.36k
        auto buf = make_contiguous_buffer(range);
2121
3.36k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
3.36k
        return ranges::next(range.begin(),
2123
3.36k
                            ranges::distance(buf.view().begin(), it));
2124
3.36k
    }
2125
3.36k
    else {
2126
3.36k
        auto it = range.begin();
2127
2128
3.36k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.36k
            auto seg = get_contiguous_beginning(range);
2130
3.36k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.36k
                seg_it != seg.end()) {
2132
3.36k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
3.36k
            }
2134
3.36k
            ranges::advance(it, seg.size());
2135
3.36k
        }
2136
2137
3.36k
        return read_while_code_point(
2138
3.36k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
3.36k
    }
2140
3.36k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
162
{
2117
162
    if constexpr (ranges::contiguous_range<Range> &&
2118
162
                  ranges::sized_range<Range> &&
2119
162
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
162
        auto buf = make_contiguous_buffer(range);
2121
162
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
162
        return ranges::next(range.begin(),
2123
162
                            ranges::distance(buf.view().begin(), it));
2124
162
    }
2125
162
    else {
2126
162
        auto it = range.begin();
2127
2128
162
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
162
            auto seg = get_contiguous_beginning(range);
2130
162
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
162
                seg_it != seg.end()) {
2132
162
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
162
            }
2134
162
            ranges::advance(it, seg.size());
2135
162
        }
2136
2137
162
        return read_while_code_point(
2138
162
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
162
    }
2140
162
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
2.26M
{
2117
2.26M
    if constexpr (ranges::contiguous_range<Range> &&
2118
2.26M
                  ranges::sized_range<Range> &&
2119
2.26M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
2.26M
        auto buf = make_contiguous_buffer(range);
2121
2.26M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
2.26M
        return ranges::next(range.begin(),
2123
2.26M
                            ranges::distance(buf.view().begin(), it));
2124
2.26M
    }
2125
2.26M
    else {
2126
2.26M
        auto it = range.begin();
2127
2128
2.26M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
2.26M
            auto seg = get_contiguous_beginning(range);
2130
2.26M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
2.26M
                seg_it != seg.end()) {
2132
2.26M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
2.26M
            }
2134
2.26M
            ranges::advance(it, seg.size());
2135
2.26M
        }
2136
2137
2.26M
        return read_while_code_point(
2138
2.26M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
2.26M
    }
2140
2.26M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
1.54M
{
2117
1.54M
    if constexpr (ranges::contiguous_range<Range> &&
2118
1.54M
                  ranges::sized_range<Range> &&
2119
1.54M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
1.54M
        auto buf = make_contiguous_buffer(range);
2121
1.54M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
1.54M
        return ranges::next(range.begin(),
2123
1.54M
                            ranges::distance(buf.view().begin(), it));
2124
1.54M
    }
2125
1.54M
    else {
2126
1.54M
        auto it = range.begin();
2127
2128
1.54M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
1.54M
            auto seg = get_contiguous_beginning(range);
2130
1.54M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
1.54M
                seg_it != seg.end()) {
2132
1.54M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
1.54M
            }
2134
1.54M
            ranges::advance(it, seg.size());
2135
1.54M
        }
2136
2137
1.54M
        return read_while_code_point(
2138
1.54M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
1.54M
    }
2140
1.54M
}
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
5.90k
{
2117
5.90k
    if constexpr (ranges::contiguous_range<Range> &&
2118
5.90k
                  ranges::sized_range<Range> &&
2119
5.90k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
5.90k
        auto buf = make_contiguous_buffer(range);
2121
5.90k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
5.90k
        return ranges::next(range.begin(),
2123
5.90k
                            ranges::distance(buf.view().begin(), it));
2124
5.90k
    }
2125
5.90k
    else {
2126
5.90k
        auto it = range.begin();
2127
2128
5.90k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
5.90k
            auto seg = get_contiguous_beginning(range);
2130
5.90k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
5.90k
                seg_it != seg.end()) {
2132
5.90k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
5.90k
            }
2134
5.90k
            ranges::advance(it, seg.size());
2135
5.90k
        }
2136
2137
5.90k
        return read_while_code_point(
2138
5.90k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
5.90k
    }
2140
5.90k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
1.94k
{
2117
1.94k
    if constexpr (ranges::contiguous_range<Range> &&
2118
1.94k
                  ranges::sized_range<Range> &&
2119
1.94k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
1.94k
        auto buf = make_contiguous_buffer(range);
2121
1.94k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
1.94k
        return ranges::next(range.begin(),
2123
1.94k
                            ranges::distance(buf.view().begin(), it));
2124
1.94k
    }
2125
1.94k
    else {
2126
1.94k
        auto it = range.begin();
2127
2128
1.94k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
1.94k
            auto seg = get_contiguous_beginning(range);
2130
1.94k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
1.94k
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
1.94k
            ranges::advance(it, seg.size());
2135
1.94k
        }
2136
2137
1.94k
        return read_while_code_point(
2138
1.94k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
1.94k
    }
2140
1.94k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
796
{
2117
796
    if constexpr (ranges::contiguous_range<Range> &&
2118
796
                  ranges::sized_range<Range> &&
2119
796
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
796
        auto buf = make_contiguous_buffer(range);
2121
796
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
796
        return ranges::next(range.begin(),
2123
796
                            ranges::distance(buf.view().begin(), it));
2124
796
    }
2125
796
    else {
2126
796
        auto it = range.begin();
2127
2128
796
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
796
            auto seg = get_contiguous_beginning(range);
2130
796
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
796
                seg_it != seg.end()) {
2132
796
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
796
            }
2134
796
            ranges::advance(it, seg.size());
2135
796
        }
2136
2137
796
        return read_while_code_point(
2138
796
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
796
    }
2140
796
}
2141
2142
template <typename Range>
2143
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2144
    -> parse_expected<ranges::const_iterator_t<Range>>
2145
3.12M
{
2146
3.12M
    auto it = read_code_unit(range);
2147
3.12M
    if (SCN_UNLIKELY(!it)) {
2148
12.9k
        return unexpected(make_eof_parse_error(it.error()));
2149
12.9k
    }
2150
2151
3.11M
    if (SCN_UNLIKELY(*range.begin() !=
2152
3.11M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
2.33M
        return unexpected(parse_error::error);
2154
2.33M
    }
2155
2156
781k
    return *it;
2157
3.11M
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
1.63M
{
2146
1.63M
    auto it = read_code_unit(range);
2147
1.63M
    if (SCN_UNLIKELY(!it)) {
2148
8.33k
        return unexpected(make_eof_parse_error(it.error()));
2149
8.33k
    }
2150
2151
1.62M
    if (SCN_UNLIKELY(*range.begin() !=
2152
1.62M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
1.16M
        return unexpected(parse_error::error);
2154
1.16M
    }
2155
2156
460k
    return *it;
2157
1.62M
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
34
{
2146
34
    auto it = read_code_unit(range);
2147
34
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
34
    if (SCN_UNLIKELY(*range.begin() !=
2152
34
                     static_cast<detail::char_t<Range>>(ch))) {
2153
34
        return unexpected(parse_error::error);
2154
34
    }
2155
2156
0
    return *it;
2157
34
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
881k
{
2146
881k
    auto it = read_code_unit(range);
2147
881k
    if (SCN_UNLIKELY(!it)) {
2148
3.28k
        return unexpected(make_eof_parse_error(it.error()));
2149
3.28k
    }
2150
2151
877k
    if (SCN_UNLIKELY(*range.begin() !=
2152
877k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
559k
        return unexpected(parse_error::error);
2154
559k
    }
2155
2156
318k
    return *it;
2157
877k
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
403k
{
2146
403k
    auto it = read_code_unit(range);
2147
403k
    if (SCN_UNLIKELY(!it)) {
2148
929
        return unexpected(make_eof_parse_error(it.error()));
2149
929
    }
2150
2151
402k
    if (SCN_UNLIKELY(*range.begin() !=
2152
402k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
400k
        return unexpected(parse_error::error);
2154
400k
    }
2155
2156
1.60k
    return *it;
2157
402k
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
34
{
2146
34
    auto it = read_code_unit(range);
2147
34
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
34
    if (SCN_UNLIKELY(*range.begin() !=
2152
34
                     static_cast<detail::char_t<Range>>(ch))) {
2153
34
        return unexpected(parse_error::error);
2154
34
    }
2155
2156
0
    return *it;
2157
34
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
204k
{
2146
204k
    auto it = read_code_unit(range);
2147
204k
    if (SCN_UNLIKELY(!it)) {
2148
352
        return unexpected(make_eof_parse_error(it.error()));
2149
352
    }
2150
2151
203k
    if (SCN_UNLIKELY(*range.begin() !=
2152
203k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
202k
        return unexpected(parse_error::error);
2154
202k
    }
2155
2156
848
    return *it;
2157
203k
}
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
548
{
2146
548
    auto it = read_code_unit(range);
2147
548
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
548
    if (SCN_UNLIKELY(*range.begin() !=
2152
548
                     static_cast<detail::char_t<Range>>(ch))) {
2153
548
        return unexpected(parse_error::error);
2154
548
    }
2155
2156
0
    return *it;
2157
548
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
268
{
2146
268
    auto it = read_code_unit(range);
2147
268
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
268
    if (SCN_UNLIKELY(*range.begin() !=
2152
268
                     static_cast<detail::char_t<Range>>(ch))) {
2153
268
        return unexpected(parse_error::error);
2154
268
    }
2155
2156
0
    return *it;
2157
268
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2158
2159
template <typename Range>
2160
auto read_matching_code_point(Range range, char32_t cp)
2161
    -> parse_expected<ranges::const_iterator_t<Range>>
2162
{
2163
    auto val = read_code_point_into(range);
2164
    if (!val.is_valid()) {
2165
        return unexpected(parse_error::error);
2166
    }
2167
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2168
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2169
        return unexpected(parse_error::error);
2170
    }
2171
    return val.iterator;
2172
}
2173
2174
template <typename Range>
2175
auto read_matching_string(Range range,
2176
                          std::basic_string_view<detail::char_t<Range>> str)
2177
    -> parse_expected<ranges::const_iterator_t<Range>>
2178
80
{
2179
80
    SCN_TRY(it, read_exactly_n_code_units(
2180
56
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
56
                    .transform_error(make_eof_parse_error));
2182
2183
56
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
56
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
56
        return unexpected(parse_error::error);
2186
56
    }
2187
0
    return it;
2188
56
}
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
20
{
2179
20
    SCN_TRY(it, read_exactly_n_code_units(
2180
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
10
                    .transform_error(make_eof_parse_error));
2182
2183
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
10
        return unexpected(parse_error::error);
2186
10
    }
2187
0
    return it;
2188
10
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
28
{
2179
28
    SCN_TRY(it, read_exactly_n_code_units(
2180
26
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
26
                    .transform_error(make_eof_parse_error));
2182
2183
26
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
26
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
26
        return unexpected(parse_error::error);
2186
26
    }
2187
0
    return it;
2188
26
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
16
{
2179
16
    SCN_TRY(it, read_exactly_n_code_units(
2180
6
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
6
                    .transform_error(make_eof_parse_error));
2182
2183
6
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
6
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
6
        return unexpected(parse_error::error);
2186
6
    }
2187
0
    return it;
2188
6
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
16
{
2179
16
    SCN_TRY(it, read_exactly_n_code_units(
2180
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
14
                    .transform_error(make_eof_parse_error));
2182
2183
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
14
        return unexpected(parse_error::error);
2186
14
    }
2187
0
    return it;
2188
14
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2189
2190
template <typename Range>
2191
auto read_matching_string_classic(Range range, std::string_view str)
2192
    -> parse_expected<ranges::const_iterator_t<Range>>
2193
4.52k
{
2194
4.52k
    SCN_TRY(it, read_exactly_n_code_units(
2195
4.13k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
4.13k
                    .transform_error(make_eof_parse_error));
2197
2198
4.13k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.78k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
2.34k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
2.34k
            return unexpected(parse_error::error);
2202
2.34k
        }
2203
0
        return it;
2204
2.34k
    }
2205
1.78k
    else {
2206
1.78k
        auto range_it = range.begin();
2207
1.78k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.78k
            if (SCN_UNLIKELY(*range_it !=
2209
1.78k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.78k
                return unexpected(parse_error::error);
2211
1.78k
            }
2212
1.78k
        }
2213
0
        return it;
2214
1.78k
    }
2215
4.13k
}
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.96k
{
2194
1.96k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.86k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.86k
                    .transform_error(make_eof_parse_error));
2197
2198
1.86k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.86k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.86k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.86k
            return unexpected(parse_error::error);
2202
1.86k
        }
2203
0
        return it;
2204
1.86k
    }
2205
1.86k
    else {
2206
1.86k
        auto range_it = range.begin();
2207
1.86k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.86k
            if (SCN_UNLIKELY(*range_it !=
2209
1.86k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.86k
                return unexpected(parse_error::error);
2211
1.86k
            }
2212
1.86k
        }
2213
1.86k
        return it;
2214
1.86k
    }
2215
1.86k
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
600
{
2194
600
    SCN_TRY(it, read_exactly_n_code_units(
2195
480
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
480
                    .transform_error(make_eof_parse_error));
2197
2198
480
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
480
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
480
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
480
            return unexpected(parse_error::error);
2202
480
        }
2203
0
        return it;
2204
480
    }
2205
480
    else {
2206
480
        auto range_it = range.begin();
2207
480
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
480
            if (SCN_UNLIKELY(*range_it !=
2209
480
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
480
                return unexpected(parse_error::error);
2211
480
            }
2212
480
        }
2213
480
        return it;
2214
480
    }
2215
480
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.70k
{
2194
1.70k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.58k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.58k
                    .transform_error(make_eof_parse_error));
2197
2198
1.58k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.58k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.58k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.58k
            return unexpected(parse_error::error);
2202
1.58k
        }
2203
1.58k
        return it;
2204
1.58k
    }
2205
1.58k
    else {
2206
1.58k
        auto range_it = range.begin();
2207
1.58k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.58k
            if (SCN_UNLIKELY(*range_it !=
2209
1.58k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.58k
                return unexpected(parse_error::error);
2211
1.58k
            }
2212
1.58k
        }
2213
0
        return it;
2214
1.58k
    }
2215
1.58k
}
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
248
{
2194
248
    SCN_TRY(it, read_exactly_n_code_units(
2195
200
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
200
                    .transform_error(make_eof_parse_error));
2197
2198
200
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
200
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
200
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
200
            return unexpected(parse_error::error);
2202
200
        }
2203
200
        return it;
2204
200
    }
2205
200
    else {
2206
200
        auto range_it = range.begin();
2207
200
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
200
            if (SCN_UNLIKELY(*range_it !=
2209
200
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
200
                return unexpected(parse_error::error);
2211
200
            }
2212
200
        }
2213
0
        return it;
2214
200
    }
2215
200
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2216
2217
// Ripped from fast_float
2218
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2219
4.49M
{
2220
4.49M
    unsigned char running_diff{0};
2221
15.4M
    for (size_t i = 0; i < len; ++i) {
2222
10.9M
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2223
10.9M
    }
2224
4.49M
    return running_diff == 0 || running_diff == 32;
2225
4.49M
}
2226
2227
template <typename Range>
2228
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2229
    -> parse_expected<ranges::const_iterator_t<Range>>
2230
12.4M
{
2231
12.4M
    using char_type = detail::char_t<Range>;
2232
2233
12.4M
    if constexpr (ranges::contiguous_range<Range> &&
2234
12.4M
                  std::is_same_v<char_type, char>) {
2235
7.92M
        if (range.size() < str.size()) {
2236
55.9k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
55.9k
        }
2238
4.49M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
4.38M
            return unexpected(parse_error::error);
2240
4.38M
        }
2241
113k
        return ranges::next(range.begin(), str.size());
2242
4.49M
    }
2243
7.92M
    else {
2244
9.48M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
9.48M
            if (ch < 'A' || ch > 'Z') {
2246
9.40M
                return ch;
2247
9.40M
            }
2248
86.2k
            return static_cast<char_type>(ch +
2249
86.2k
                                          static_cast<char_type>('a' - 'A'));
2250
9.48M
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
6.27M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
6.27M
            if (ch < 'A' || ch > 'Z') {
2246
6.20M
                return ch;
2247
6.20M
            }
2248
66.2k
            return static_cast<char_type>(ch +
2249
66.2k
                                          static_cast<char_type>('a' - 'A'));
2250
6.27M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
970
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
970
            if (ch < 'A' || ch > 'Z') {
2246
970
                return ch;
2247
970
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
970
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
1.60M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.60M
            if (ch < 'A' || ch > 'Z') {
2246
1.59M
                return ch;
2247
1.59M
            }
2248
9.99k
            return static_cast<char_type>(ch +
2249
9.99k
                                          static_cast<char_type>('a' - 'A'));
2250
1.60M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
466
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
466
            if (ch < 'A' || ch > 'Z') {
2246
466
                return ch;
2247
466
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
466
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
1.60M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.60M
            if (ch < 'A' || ch > 'Z') {
2246
1.59M
                return ch;
2247
1.59M
            }
2248
10.0k
            return static_cast<char_type>(ch +
2249
10.0k
                                          static_cast<char_type>('a' - 'A'));
2250
1.60M
        };
2251
2252
7.92M
        SCN_TRY(it, read_exactly_n_code_units(
2253
7.71M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
7.71M
                        .transform_error(make_eof_parse_error));
2255
2256
7.71M
        if (SCN_UNLIKELY(!std::equal(
2257
7.71M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
7.71M
                    return ascii_tolower(a) ==
2259
7.71M
                           static_cast<detail::char_t<Range>>(b);
2260
7.71M
                }))) {
2261
7.59M
            return unexpected(parse_error::error);
2262
7.59M
        }
2263
2264
116k
        return it;
2265
7.71M
    }
2266
12.4M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
4.91M
{
2231
4.91M
    using char_type = detail::char_t<Range>;
2232
2233
4.91M
    if constexpr (ranges::contiguous_range<Range> &&
2234
4.91M
                  std::is_same_v<char_type, char>) {
2235
4.91M
        if (range.size() < str.size()) {
2236
4.91M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
4.91M
        }
2238
4.91M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
4.91M
            return unexpected(parse_error::error);
2240
4.91M
        }
2241
4.91M
        return ranges::next(range.begin(), str.size());
2242
4.91M
    }
2243
4.91M
    else {
2244
4.91M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
4.91M
            if (ch < 'A' || ch > 'Z') {
2246
4.91M
                return ch;
2247
4.91M
            }
2248
4.91M
            return static_cast<char_type>(ch +
2249
4.91M
                                          static_cast<char_type>('a' - 'A'));
2250
4.91M
        };
2251
2252
4.91M
        SCN_TRY(it, read_exactly_n_code_units(
2253
4.86M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
4.86M
                        .transform_error(make_eof_parse_error));
2255
2256
4.86M
        if (SCN_UNLIKELY(!std::equal(
2257
4.86M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
4.86M
                    return ascii_tolower(a) ==
2259
4.86M
                           static_cast<detail::char_t<Range>>(b);
2260
4.86M
                }))) {
2261
4.74M
            return unexpected(parse_error::error);
2262
4.74M
        }
2263
2264
115k
        return it;
2265
4.86M
    }
2266
4.91M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
1.14k
{
2231
1.14k
    using char_type = detail::char_t<Range>;
2232
2233
1.14k
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.14k
                  std::is_same_v<char_type, char>) {
2235
1.14k
        if (range.size() < str.size()) {
2236
1.14k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.14k
        }
2238
1.14k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.14k
            return unexpected(parse_error::error);
2240
1.14k
        }
2241
1.14k
        return ranges::next(range.begin(), str.size());
2242
1.14k
    }
2243
1.14k
    else {
2244
1.14k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.14k
            if (ch < 'A' || ch > 'Z') {
2246
1.14k
                return ch;
2247
1.14k
            }
2248
1.14k
            return static_cast<char_type>(ch +
2249
1.14k
                                          static_cast<char_type>('a' - 'A'));
2250
1.14k
        };
2251
2252
1.14k
        SCN_TRY(it, read_exactly_n_code_units(
2253
970
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
970
                        .transform_error(make_eof_parse_error));
2255
2256
970
        if (SCN_UNLIKELY(!std::equal(
2257
970
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
970
                    return ascii_tolower(a) ==
2259
970
                           static_cast<detail::char_t<Range>>(b);
2260
970
                }))) {
2261
970
            return unexpected(parse_error::error);
2262
970
        }
2263
2264
0
        return it;
2265
970
    }
2266
1.14k
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
4.54M
{
2231
4.54M
    using char_type = detail::char_t<Range>;
2232
2233
4.54M
    if constexpr (ranges::contiguous_range<Range> &&
2234
4.54M
                  std::is_same_v<char_type, char>) {
2235
4.54M
        if (range.size() < str.size()) {
2236
55.9k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
55.9k
        }
2238
4.49M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
4.38M
            return unexpected(parse_error::error);
2240
4.38M
        }
2241
113k
        return ranges::next(range.begin(), str.size());
2242
4.49M
    }
2243
4.54M
    else {
2244
4.54M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
4.54M
            if (ch < 'A' || ch > 'Z') {
2246
4.54M
                return ch;
2247
4.54M
            }
2248
4.54M
            return static_cast<char_type>(ch +
2249
4.54M
                                          static_cast<char_type>('a' - 'A'));
2250
4.54M
        };
2251
2252
4.54M
        SCN_TRY(it, read_exactly_n_code_units(
2253
4.54M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
4.54M
                        .transform_error(make_eof_parse_error));
2255
2256
4.54M
        if (SCN_UNLIKELY(!std::equal(
2257
4.54M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
4.54M
                    return ascii_tolower(a) ==
2259
4.54M
                           static_cast<detail::char_t<Range>>(b);
2260
4.54M
                }))) {
2261
4.54M
            return unexpected(parse_error::error);
2262
4.54M
        }
2263
2264
4.54M
        return it;
2265
4.54M
    }
2266
4.54M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
1.50M
{
2231
1.50M
    using char_type = detail::char_t<Range>;
2232
2233
1.50M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.50M
                  std::is_same_v<char_type, char>) {
2235
1.50M
        if (range.size() < str.size()) {
2236
1.50M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.50M
        }
2238
1.50M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.50M
            return unexpected(parse_error::error);
2240
1.50M
        }
2241
1.50M
        return ranges::next(range.begin(), str.size());
2242
1.50M
    }
2243
1.50M
    else {
2244
1.50M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.50M
            if (ch < 'A' || ch > 'Z') {
2246
1.50M
                return ch;
2247
1.50M
            }
2248
1.50M
            return static_cast<char_type>(ch +
2249
1.50M
                                          static_cast<char_type>('a' - 'A'));
2250
1.50M
        };
2251
2252
1.50M
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.42M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.42M
                        .transform_error(make_eof_parse_error));
2255
2256
1.42M
        if (SCN_UNLIKELY(!std::equal(
2257
1.42M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.42M
                    return ascii_tolower(a) ==
2259
1.42M
                           static_cast<detail::char_t<Range>>(b);
2260
1.42M
                }))) {
2261
1.42M
            return unexpected(parse_error::error);
2262
1.42M
        }
2263
2264
521
        return it;
2265
1.42M
    }
2266
1.50M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
548
{
2231
548
    using char_type = detail::char_t<Range>;
2232
2233
548
    if constexpr (ranges::contiguous_range<Range> &&
2234
548
                  std::is_same_v<char_type, char>) {
2235
548
        if (range.size() < str.size()) {
2236
548
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
548
        }
2238
548
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
548
            return unexpected(parse_error::error);
2240
548
        }
2241
548
        return ranges::next(range.begin(), str.size());
2242
548
    }
2243
548
    else {
2244
548
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
548
            if (ch < 'A' || ch > 'Z') {
2246
548
                return ch;
2247
548
            }
2248
548
            return static_cast<char_type>(ch +
2249
548
                                          static_cast<char_type>('a' - 'A'));
2250
548
        };
2251
2252
548
        SCN_TRY(it, read_exactly_n_code_units(
2253
466
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
466
                        .transform_error(make_eof_parse_error));
2255
2256
466
        if (SCN_UNLIKELY(!std::equal(
2257
466
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
466
                    return ascii_tolower(a) ==
2259
466
                           static_cast<detail::char_t<Range>>(b);
2260
466
                }))) {
2261
466
            return unexpected(parse_error::error);
2262
466
        }
2263
2264
0
        return it;
2265
466
    }
2266
548
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
1.50M
{
2231
1.50M
    using char_type = detail::char_t<Range>;
2232
2233
1.50M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.50M
                  std::is_same_v<char_type, char>) {
2235
1.50M
        if (range.size() < str.size()) {
2236
1.50M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.50M
        }
2238
1.50M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.50M
            return unexpected(parse_error::error);
2240
1.50M
        }
2241
1.50M
        return ranges::next(range.begin(), str.size());
2242
1.50M
    }
2243
1.50M
    else {
2244
1.50M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.50M
            if (ch < 'A' || ch > 'Z') {
2246
1.50M
                return ch;
2247
1.50M
            }
2248
1.50M
            return static_cast<char_type>(ch +
2249
1.50M
                                          static_cast<char_type>('a' - 'A'));
2250
1.50M
        };
2251
2252
1.50M
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.42M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.42M
                        .transform_error(make_eof_parse_error));
2255
2256
1.42M
        if (SCN_UNLIKELY(!std::equal(
2257
1.42M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.42M
                    return ascii_tolower(a) ==
2259
1.42M
                           static_cast<detail::char_t<Range>>(b);
2260
1.42M
                }))) {
2261
1.42M
            return unexpected(parse_error::error);
2262
1.42M
        }
2263
2264
521
        return it;
2265
1.42M
    }
2266
1.50M
}
2267
2268
template <typename Range>
2269
auto read_one_of_code_unit(Range range, std::string_view str)
2270
    -> parse_expected<ranges::const_iterator_t<Range>>
2271
9.59M
{
2272
9.59M
    auto it = read_code_unit(range);
2273
9.59M
    if (SCN_UNLIKELY(!it)) {
2274
13.9k
        return unexpected(make_eof_parse_error(it.error()));
2275
13.9k
    }
2276
2277
18.6M
    for (auto ch : str) {
2278
18.6M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
1.06M
            return *it;
2280
1.06M
        }
2281
18.6M
    }
2282
2283
8.51M
    return unexpected(parse_error::error);
2284
9.57M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
4.28M
{
2272
4.28M
    auto it = read_code_unit(range);
2273
4.28M
    if (SCN_UNLIKELY(!it)) {
2274
10.7k
        return unexpected(make_eof_parse_error(it.error()));
2275
10.7k
    }
2276
2277
8.26M
    for (auto ch : str) {
2278
8.26M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
585k
            return *it;
2280
585k
        }
2281
8.26M
    }
2282
2283
3.69M
    return unexpected(parse_error::error);
2284
4.27M
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
1.09k
{
2272
1.09k
    auto it = read_code_unit(range);
2273
1.09k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
2.18k
    for (auto ch : str) {
2278
2.18k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
2.18k
    }
2282
2283
1.09k
    return unexpected(parse_error::error);
2284
1.09k
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
3.32M
{
2272
3.32M
    auto it = read_code_unit(range);
2273
3.32M
    if (SCN_UNLIKELY(!it)) {
2274
1.99k
        return unexpected(make_eof_parse_error(it.error()));
2275
1.99k
    }
2276
2277
6.45M
    for (auto ch : str) {
2278
6.45M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
453k
            return *it;
2280
453k
        }
2281
6.45M
    }
2282
2283
2.87M
    return unexpected(parse_error::error);
2284
3.32M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
1.08M
{
2272
1.08M
    auto it = read_code_unit(range);
2273
1.08M
    if (SCN_UNLIKELY(!it)) {
2274
954
        return unexpected(make_eof_parse_error(it.error()));
2275
954
    }
2276
2277
2.17M
    for (auto ch : str) {
2278
2.17M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
14.8k
            return *it;
2280
14.8k
        }
2281
2.17M
    }
2282
2283
1.07M
    return unexpected(parse_error::error);
2284
1.08M
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
510
{
2272
510
    auto it = read_code_unit(range);
2273
510
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
1.02k
    for (auto ch : str) {
2278
1.02k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
1.02k
    }
2282
2283
510
    return unexpected(parse_error::error);
2284
510
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
884k
{
2272
884k
    auto it = read_code_unit(range);
2273
884k
    if (SCN_UNLIKELY(!it)) {
2274
214
        return unexpected(make_eof_parse_error(it.error()));
2275
214
    }
2276
2277
1.76M
    for (auto ch : str) {
2278
1.76M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
7.73k
            return *it;
2280
7.73k
        }
2281
1.76M
    }
2282
2283
876k
    return unexpected(parse_error::error);
2284
884k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
2285
2286
template <typename Range, template <class> class Expected, typename Iterator>
2287
auto apply_opt(Expected<Iterator>&& result, Range range)
2288
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2289
                        ranges::const_iterator_t<Range>>
2290
1.40M
{
2291
1.40M
    if (!result) {
2292
1.27M
        return range.begin();
2293
1.27M
    }
2294
129k
    return *result;
2295
1.40M
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
564k
{
2291
564k
    if (!result) {
2292
499k
        return range.begin();
2293
499k
    }
2294
64.7k
    return *result;
2295
564k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
292
{
2291
292
    if (!result) {
2292
292
        return range.begin();
2293
292
    }
2294
0
    return *result;
2295
292
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
562k
{
2291
562k
    if (!result) {
2292
498k
        return range.begin();
2293
498k
    }
2294
64.2k
    return *result;
2295
562k
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
140k
{
2291
140k
    if (!result) {
2292
140k
        return range.begin();
2293
140k
    }
2294
168
    return *result;
2295
140k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
130
{
2291
130
    if (!result) {
2292
130
        return range.begin();
2293
130
    }
2294
0
    return *result;
2295
130
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
141k
{
2291
141k
    if (!result) {
2292
141k
        return range.begin();
2293
141k
    }
2294
168
    return *result;
2295
141k
}
2296
2297
/////////////////////////////////////////////////////////////////
2298
// Text width calculation
2299
/////////////////////////////////////////////////////////////////
2300
2301
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2302
109k
{
2303
109k
    if (cp >= 0x1100 &&
2304
109k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2305
22.2k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2306
22.2k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2307
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2308
22.2k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2309
22.2k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2310
22.2k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2311
22.2k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2312
22.2k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2313
22.2k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2314
22.2k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2315
22.2k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2316
22.2k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2317
         // Miscellaneous Symbols and Pictographs + Emoticons:
2318
22.2k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2319
         // Supplemental Symbols and Pictographs:
2320
22.2k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2321
3.52k
        return 2;
2322
3.52k
    }
2323
106k
    return 1;
2324
109k
}
2325
2326
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2327
65.9k
{
2328
65.9k
    return calculate_text_width_for_fmt_v10(cp);
2329
65.9k
}
2330
2331
template <typename CharT>
2332
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2333
{
2334
    size_t count{0};
2335
    for_each_code_point_valid(input, [&count](char32_t cp) {
2336
        count += calculate_text_width_for_fmt_v10(cp);
2337
    });
2338
    return count;
2339
}
2340
2341
constexpr std::size_t calculate_text_width(char32_t cp)
2342
232
{
2343
232
    return calculate_text_width_for_fmt_v10(cp);
2344
232
}
2345
2346
template <typename CharT>
2347
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2348
26.1k
{
2349
26.1k
    size_t count{0};
2350
43.4k
    for_each_code_point(input, [&count](char32_t cp) {
2351
43.4k
        count += calculate_text_width_for_fmt_v10(cp);
2352
43.4k
    });
scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
36.2k
    for_each_code_point(input, [&count](char32_t cp) {
2351
36.2k
        count += calculate_text_width_for_fmt_v10(cp);
2352
36.2k
    });
scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
7.12k
    for_each_code_point(input, [&count](char32_t cp) {
2351
7.12k
        count += calculate_text_width_for_fmt_v10(cp);
2352
7.12k
    });
2353
26.1k
    return count;
2354
26.1k
}
unsigned long scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2348
22.6k
{
2349
22.6k
    size_t count{0};
2350
22.6k
    for_each_code_point(input, [&count](char32_t cp) {
2351
22.6k
        count += calculate_text_width_for_fmt_v10(cp);
2352
22.6k
    });
2353
22.6k
    return count;
2354
22.6k
}
unsigned long scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2348
3.52k
{
2349
3.52k
    size_t count{0};
2350
3.52k
    for_each_code_point(input, [&count](char32_t cp) {
2351
3.52k
        count += calculate_text_width_for_fmt_v10(cp);
2352
3.52k
    });
2353
3.52k
    return count;
2354
3.52k
}
2355
2356
namespace counted_width_iterator_impl {
2357
template <typename It, typename S>
2358
class counted_width_iterator {
2359
    static_assert(ranges::forward_iterator<It>);
2360
    static_assert(ranges::sentinel_for<S, It>);
2361
2362
    template <typename OtherIt, typename OtherS>
2363
    friend class counted_width_iterator;
2364
2365
public:
2366
    using iterator = It;
2367
    using sentinel = S;
2368
    using value_type = ranges::iter_value_t<It>;
2369
    using pointer = value_type*;
2370
    using reference = value_type&;
2371
    using difference_type = ranges::iter_difference_t<It>;
2372
    using iterator_category =
2373
        std::conditional_t<ranges::bidirectional_iterator<It>,
2374
                           std::bidirectional_iterator_tag,
2375
                           std::forward_iterator_tag>;
2376
2377
    constexpr counted_width_iterator() = default;
2378
2379
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2380
        : m_current(x), m_end(s), m_count(n)
2381
34.3k
    {
2382
34.3k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2381
19.8k
    {
2382
19.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2381
8.09k
    {
2382
8.09k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2381
4.57k
    {
2382
4.57k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2381
1.82k
    {
2382
1.82k
    }
2383
2384
    template <typename OtherIt,
2385
              typename OtherS,
2386
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2387
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2388
    constexpr counted_width_iterator(
2389
        const counted_width_iterator<OtherIt, OtherS>& other)
2390
        : m_current(other.m_current),
2391
          m_end(other.m_end),
2392
          m_count(other.m_count),
2393
          m_multibyte_left(other.m_multibyte_left)
2394
    {
2395
    }
2396
2397
    template <typename OtherIt, typename OtherS>
2398
    constexpr auto operator=(
2399
        const counted_width_iterator<OtherIt, OtherS>& other)
2400
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2401
                                std::is_convertible_v<OtherS, S>,
2402
                            counted_width_iterator&>
2403
    {
2404
        m_current = other.m_current;
2405
        m_end = other.m_end;
2406
        m_count = other.m_count;
2407
        m_multibyte_left = other.m_multibyte_left;
2408
        return *this;
2409
    }
2410
2411
    constexpr It base() const
2412
163k
    {
2413
163k
        return m_current;
2414
163k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2412
116k
    {
2413
116k
        return m_current;
2414
116k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2412
28.9k
    {
2413
28.9k
        return m_current;
2414
28.9k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
13.9k
    {
2413
13.9k
        return m_current;
2414
13.9k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
3.69k
    {
2413
3.69k
        return m_current;
2414
3.69k
    }
2415
    constexpr difference_type count() const
2416
158k
    {
2417
158k
        return m_count;
2418
158k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2416
112k
    {
2417
112k
        return m_count;
2418
112k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2416
27.5k
    {
2417
27.5k
        return m_count;
2418
27.5k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
14.4k
    {
2417
14.4k
        return m_count;
2418
14.4k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
3.73k
    {
2417
3.73k
        return m_count;
2418
3.73k
    }
2419
    constexpr difference_type multibyte_left() const
2420
4.67k
    {
2421
4.67k
        return m_multibyte_left;
2422
4.67k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2420
3.50k
    {
2421
3.50k
        return m_multibyte_left;
2422
3.50k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2420
352
    {
2421
352
        return m_multibyte_left;
2422
352
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
792
    {
2421
792
        return m_multibyte_left;
2422
792
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
34
    {
2421
34
        return m_multibyte_left;
2422
34
    }
2423
2424
    constexpr decltype(auto) operator*()
2425
145k
    {
2426
145k
        return *m_current;
2427
145k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2425
107k
    {
2426
107k
        return *m_current;
2427
107k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2425
28.0k
    {
2426
28.0k
        return *m_current;
2427
28.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
8.34k
    {
2426
8.34k
        return *m_current;
2427
8.34k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
1.87k
    {
2426
1.87k
        return *m_current;
2427
1.87k
    }
2428
    constexpr decltype(auto) operator*() const
2429
10.1k
    {
2430
10.1k
        return *m_current;
2431
10.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2429
8.39k
    {
2430
8.39k
        return *m_current;
2431
8.39k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2429
1.75k
    {
2430
1.75k
        return *m_current;
2431
1.75k
    }
2432
2433
    constexpr counted_width_iterator& operator++()
2434
145k
    {
2435
145k
        SCN_EXPECT(m_current != m_end);
2436
145k
        _increment_current();
2437
145k
        return *this;
2438
145k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2434
115k
    {
2435
115k
        SCN_EXPECT(m_current != m_end);
2436
115k
        _increment_current();
2437
115k
        return *this;
2438
115k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2434
20.1k
    {
2435
20.1k
        SCN_EXPECT(m_current != m_end);
2436
20.1k
        _increment_current();
2437
20.1k
        return *this;
2438
20.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
9.55k
    {
2435
9.55k
        SCN_EXPECT(m_current != m_end);
2436
9.55k
        _increment_current();
2437
9.55k
        return *this;
2438
9.55k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
876
    {
2435
876
        SCN_EXPECT(m_current != m_end);
2436
876
        _increment_current();
2437
876
        return *this;
2438
876
    }
2439
2440
    constexpr counted_width_iterator operator++(int)
2441
    {
2442
        auto tmp = *this;
2443
        ++*this;
2444
        return tmp;
2445
    }
2446
2447
    template <typename Iter = It>
2448
    constexpr auto operator--()
2449
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2450
                            counted_width_iterator&>
2451
0
    {
2452
0
        _decrement_current();
2453
0
        return *this;
2454
0
    }
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2455
2456
    template <typename Iter = It>
2457
    constexpr auto operator--(int)
2458
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2459
                            counted_width_iterator>
2460
    {
2461
        auto tmp = *this;
2462
        --*this;
2463
        return tmp;
2464
    }
2465
2466
    // TODO: optimize, make better than forward, if possible
2467
#if 0
2468
                template <typename Iter = It>
2469
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2470
                    ranges_std::random_access_iterator<Iter>,
2471
                    counted_width_iterator>
2472
                {
2473
                    // TODO
2474
                    return counted_width_iterator(m_current + n, m_count - n);
2475
                }
2476
2477
                template <typename Iter = It,
2478
                          std::enable_if_t<ranges_std::random_access_iterator<
2479
                              Iter>>* = nullptr>
2480
                friend constexpr counted_width_iterator operator+(
2481
                    ranges_std::iter_difference_t<Iter> n,
2482
                    const counted_width_iterator<Iter>& x)
2483
                {
2484
                    return x + n;
2485
                }
2486
2487
                template <typename Iter = It>
2488
                constexpr auto operator+=(difference_type n)
2489
                    -> std::enable_if_t<
2490
                        ranges_std::random_access_iterator<Iter>,
2491
                        counted_width_iterator&>
2492
                {
2493
                    // TODO
2494
                    m_current += n;
2495
                    m_count -= n;
2496
                    return *this;
2497
                }
2498
2499
                template <typename Iter = It>
2500
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2501
                    ranges_std::random_access_iterator<Iter>,
2502
                    counted_width_iterator>
2503
                {
2504
                    // TODO
2505
                    return counted_width_iterator(m_current - n, m_count + n);
2506
                }
2507
2508
                template <typename Iter = It,
2509
                          std::enable_if_t<ranges_std::random_access_iterator<
2510
                              Iter>>* = nullptr>
2511
                constexpr decltype(auto) operator[](difference_type n) const
2512
                {
2513
                    return m_current[n];
2514
                }
2515
#endif
2516
2517
    template <typename OtherIt, typename OtherS>
2518
    friend constexpr auto operator==(
2519
        const counted_width_iterator& a,
2520
        const counted_width_iterator<OtherIt, OtherS>& b)
2521
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2522
86.5k
    {
2523
86.5k
        return a.m_current == b.m_current;
2524
86.5k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
73.0k
    {
2523
73.0k
        return a.m_current == b.m_current;
2524
73.0k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
7.70k
    {
2523
7.70k
        return a.m_current == b.m_current;
2524
7.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
5.77k
    {
2523
5.77k
        return a.m_current == b.m_current;
2524
5.77k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2525
    template <typename OtherIt, typename OtherS>
2526
    friend constexpr auto operator!=(
2527
        const counted_width_iterator& a,
2528
        const counted_width_iterator<OtherIt, OtherS>& b)
2529
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2530
78.4k
    {
2531
78.4k
        return !(a == b);
2532
78.4k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
65.6k
    {
2531
65.6k
        return !(a == b);
2532
65.6k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
7.04k
    {
2531
7.04k
        return !(a == b);
2532
7.04k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
5.77k
    {
2531
5.77k
        return !(a == b);
2532
5.77k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2533
2534
    friend constexpr bool operator==(const counted_width_iterator& x,
2535
                                     ranges::default_sentinel_t)
2536
    {
2537
        return x.count() == 0 && x.multibyte_left() == 0;
2538
    }
2539
    friend constexpr bool operator==(ranges::default_sentinel_t,
2540
                                     const counted_width_iterator& x)
2541
    {
2542
        return x.count() == 0 && x.multibyte_left() == 0;
2543
    }
2544
2545
    friend constexpr bool operator!=(const counted_width_iterator& a,
2546
                                     ranges::default_sentinel_t b)
2547
    {
2548
        return !(a == b);
2549
    }
2550
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2551
                                     const counted_width_iterator& b)
2552
    {
2553
        return !(a == b);
2554
    }
2555
2556
    template <typename OtherIt, typename OtherS>
2557
    friend constexpr auto operator<(
2558
        const counted_width_iterator& a,
2559
        const counted_width_iterator<OtherIt, OtherS>& b)
2560
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2561
    {
2562
        if (a.count() == b.count()) {
2563
            return a.multibyte_left() > b.multibyte_left();
2564
        }
2565
2566
        return a.count() > b.count();
2567
    }
2568
2569
    template <typename OtherIt, typename OtherS>
2570
    friend constexpr auto operator>(
2571
        const counted_width_iterator& a,
2572
        const counted_width_iterator<OtherIt, OtherS>& b)
2573
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2574
    {
2575
        return !(b < a);
2576
    }
2577
2578
    template <typename OtherIt, typename OtherS>
2579
    friend constexpr auto operator<=(
2580
        const counted_width_iterator& a,
2581
        const counted_width_iterator<OtherIt, OtherS>& b)
2582
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2583
    {
2584
        return !(b < a);
2585
    }
2586
2587
    template <typename OtherIt, typename OtherS>
2588
    friend constexpr auto operator>=(
2589
        const counted_width_iterator& a,
2590
        const counted_width_iterator<OtherIt, OtherS>& b)
2591
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2592
    {
2593
        return !(a < b);
2594
    }
2595
2596
#if 0
2597
                template <typename OtherIt, typename OtherS>
2598
                friend constexpr auto operator-(
2599
                    const counted_width_iterator& a,
2600
                    const counted_width_iterator<OtherIt, OtherS>& b)
2601
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2602
                                        ranges_std::iter_difference_t<OtherIt>>
2603
                {
2604
                    // TODO
2605
                }
2606
2607
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2608
                    const counted_width_iterator& x,
2609
                    ranges_std::default_sentinel_t)
2610
                {
2611
                    // TODO
2612
                }
2613
2614
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2615
                    ranges_std::default_sentinel_t,
2616
                    const counted_width_iterator& x)
2617
                {
2618
                    // TODO
2619
                }
2620
#endif
2621
2622
#if 0
2623
                template <typename Iter = It>
2624
                constexpr auto operator-=(difference_type n)
2625
                    -> std::enable_if_t<
2626
                        ranges_std::random_access_iterator<Iter>,
2627
                        counted_width_iterator&>
2628
                {
2629
                    // TODO
2630
                    m_current -= n;
2631
                    m_count += n;
2632
                    return *this;
2633
                }
2634
#endif
2635
2636
private:
2637
    difference_type _get_cp_length_at_current() const
2638
87.3k
    {
2639
87.3k
        return static_cast<difference_type>(
2640
87.3k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
87.3k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
60.9k
    {
2639
60.9k
        return static_cast<difference_type>(
2640
60.9k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
60.9k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
20.1k
    {
2639
20.1k
        return static_cast<difference_type>(
2640
20.1k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
20.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
5.33k
    {
2639
5.33k
        return static_cast<difference_type>(
2640
5.33k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
5.33k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
876
    {
2639
876
        return static_cast<difference_type>(
2640
876
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
876
    }
2642
2643
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2644
87.3k
    {
2645
87.3k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
574
            return 0;
2647
574
        }
2648
2649
86.7k
        if (cplen == 1) {
2650
65.9k
            SCN_EXPECT(m_current != m_end);
2651
65.9k
            auto cp = static_cast<char32_t>(*m_current);
2652
65.9k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
65.9k
        }
2654
2655
20.8k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
20.8k
                                           cplen);
2657
20.8k
        if (SCN_UNLIKELY(!r)) {
2658
332
            return 0;
2659
332
        }
2660
2661
20.5k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
20.5k
        return static_cast<difference_type>(
2663
20.5k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
20.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
60.9k
    {
2645
60.9k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
574
            return 0;
2647
574
        }
2648
2649
60.4k
        if (cplen == 1) {
2650
41.8k
            SCN_EXPECT(m_current != m_end);
2651
41.8k
            auto cp = static_cast<char32_t>(*m_current);
2652
41.8k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
41.8k
        }
2654
2655
18.5k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
18.5k
                                           cplen);
2657
18.5k
        if (SCN_UNLIKELY(!r)) {
2658
332
            return 0;
2659
332
        }
2660
2661
18.2k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
18.2k
        return static_cast<difference_type>(
2663
18.2k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
18.5k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
20.1k
    {
2645
20.1k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
20.1k
        if (cplen == 1) {
2650
20.1k
            SCN_EXPECT(m_current != m_end);
2651
20.1k
            auto cp = static_cast<char32_t>(*m_current);
2652
20.1k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
20.1k
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
5.33k
    {
2645
5.33k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
5.33k
        if (cplen == 1) {
2650
3.05k
            SCN_EXPECT(m_current != m_end);
2651
3.05k
            auto cp = static_cast<char32_t>(*m_current);
2652
3.05k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
3.05k
        }
2654
2655
2.28k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
2.28k
                                           cplen);
2657
2.28k
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
2.28k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
2.28k
        return static_cast<difference_type>(
2663
2.28k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
2.28k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
876
    {
2645
876
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
876
        if (cplen == 1) {
2650
876
            SCN_EXPECT(m_current != m_end);
2651
876
            auto cp = static_cast<char32_t>(*m_current);
2652
876
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
876
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
2665
2666
    void _increment_current()
2667
145k
    {
2668
145k
        if (m_multibyte_left == 0) {
2669
87.3k
            auto cplen = _get_cp_length_at_current();
2670
87.3k
            m_multibyte_left = cplen - 1;
2671
87.3k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
87.3k
        }
2673
58.4k
        else {
2674
58.4k
            --m_multibyte_left;
2675
58.4k
        }
2676
2677
145k
        ++m_current;
2678
145k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2667
115k
    {
2668
115k
        if (m_multibyte_left == 0) {
2669
60.9k
            auto cplen = _get_cp_length_at_current();
2670
60.9k
            m_multibyte_left = cplen - 1;
2671
60.9k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
60.9k
        }
2673
54.1k
        else {
2674
54.1k
            --m_multibyte_left;
2675
54.1k
        }
2676
2677
115k
        ++m_current;
2678
115k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2667
20.1k
    {
2668
20.1k
        if (m_multibyte_left == 0) {
2669
20.1k
            auto cplen = _get_cp_length_at_current();
2670
20.1k
            m_multibyte_left = cplen - 1;
2671
20.1k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
20.1k
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
20.1k
        ++m_current;
2678
20.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
9.55k
    {
2668
9.55k
        if (m_multibyte_left == 0) {
2669
5.33k
            auto cplen = _get_cp_length_at_current();
2670
5.33k
            m_multibyte_left = cplen - 1;
2671
5.33k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
5.33k
        }
2673
4.21k
        else {
2674
4.21k
            --m_multibyte_left;
2675
4.21k
        }
2676
2677
9.55k
        ++m_current;
2678
9.55k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
876
    {
2668
876
        if (m_multibyte_left == 0) {
2669
876
            auto cplen = _get_cp_length_at_current();
2670
876
            m_multibyte_left = cplen - 1;
2671
876
            m_count -= _get_width_at_current_cp_start(cplen);
2672
876
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
876
        ++m_current;
2678
876
    }
2679
2680
    void _decrement_current()
2681
0
    {
2682
0
        --m_current;
2683
2684
0
        auto cplen = _get_cp_length_at_current();
2685
0
        if (cplen == 0) {
2686
0
            ++m_multibyte_left;
2687
0
        }
2688
0
        else {
2689
0
            m_count += _get_width_at_current_cp_start(cplen);
2690
0
            m_multibyte_left = cplen - 1;
2691
0
        }
2692
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2693
2694
    It m_current{};
2695
    S m_end{};
2696
    difference_type m_count{0};
2697
    difference_type m_multibyte_left{0};
2698
};
2699
2700
template <typename I, typename S>
2701
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2702
    -> counted_width_iterator<I, S>;
2703
}  // namespace counted_width_iterator_impl
2704
2705
using counted_width_iterator_impl::counted_width_iterator;
2706
2707
template <typename View, typename = void>
2708
struct take_width_view_storage;
2709
2710
template <typename View>
2711
struct take_width_view_storage<View,
2712
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2713
15.0k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2713
8.36k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2713
3.04k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2713
2.63k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2713
1.03k
    take_width_view_storage(const View& v) : view(v) {}
2714
2715
    const View& get() const
2716
148k
    {
2717
148k
        return view;
2718
148k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2716
96.0k
    {
2717
96.0k
        return view;
2718
96.0k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2716
27.4k
    {
2717
27.4k
        return view;
2718
27.4k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2716
18.5k
    {
2717
18.5k
        return view;
2718
18.5k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2716
6.35k
    {
2717
6.35k
        return view;
2718
6.35k
    }
2719
2720
    View view;
2721
};
2722
2723
template <typename View>
2724
struct take_width_view_storage<
2725
    View,
2726
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2727
    take_width_view_storage(const View& v) : view(&v) {}
2728
2729
    const View& get() const
2730
    {
2731
        return *view;
2732
    }
2733
2734
    const View* view;
2735
};
2736
2737
template <typename View>
2738
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2739
    template <bool IsConst>
2740
    class sentinel {
2741
        friend class sentinel<!IsConst>;
2742
        using Base = std::conditional_t<IsConst, const View, View>;
2743
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2744
                                           ranges::sentinel_t<Base>>;
2745
        using underlying = ranges::sentinel_t<Base>;
2746
2747
    public:
2748
        constexpr sentinel() = default;
2749
2750
79.6k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2750
56.2k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2750
11.2k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2750
9.42k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2750
2.70k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2751
2752
        template <
2753
            typename S,
2754
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2755
            bool C = IsConst,
2756
            typename VV = View,
2757
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2758
                                                        underlying>>* = nullptr>
2759
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2760
        {
2761
        }
2762
2763
        constexpr underlying base() const
2764
        {
2765
            return m_end;
2766
        }
2767
2768
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2769
151k
        {
2770
151k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
151k
                   y.base() == x.m_end;
2772
151k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2769
110k
        {
2770
110k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
110k
                   y.base() == x.m_end;
2772
110k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2769
26.8k
        {
2770
26.8k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
26.8k
                   y.base() == x.m_end;
2772
26.8k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2769
11.9k
        {
2770
11.9k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
11.9k
                   y.base() == x.m_end;
2772
11.9k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2769
2.70k
        {
2770
2.70k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
2.70k
                   y.base() == x.m_end;
2772
2.70k
        }
2773
2774
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2775
        {
2776
            return y == x;
2777
        }
2778
2779
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2780
79.8k
        {
2781
79.8k
            return !(y == x);
2782
79.8k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2780
59.7k
        {
2781
59.7k
            return !(y == x);
2782
59.7k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2780
12.7k
        {
2781
12.7k
            return !(y == x);
2782
12.7k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2780
6.33k
        {
2781
6.33k
            return !(y == x);
2782
6.33k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2780
1.11k
        {
2781
1.11k
            return !(y == x);
2782
1.11k
        }
2783
2784
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2785
        {
2786
            return !(y == x);
2787
        }
2788
2789
    private:
2790
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2791
    };
2792
2793
public:
2794
    using value_type = ranges::range_value_t<View>;
2795
2796
    take_width_view() = default;
2797
2798
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2799
        : m_base(base), m_count(count)
2800
15.0k
    {
2801
15.0k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2800
8.36k
    {
2801
8.36k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2800
3.04k
    {
2801
3.04k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2800
2.63k
    {
2801
2.63k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2800
1.03k
    {
2801
1.03k
    }
2802
2803
    constexpr View base() const
2804
    {
2805
        return m_base;
2806
    }
2807
2808
    constexpr auto begin() const
2809
34.3k
    {
2810
34.3k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
34.3k
                                      m_count};
2812
34.3k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2809
19.8k
    {
2810
19.8k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
19.8k
                                      m_count};
2812
19.8k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2809
8.09k
    {
2810
8.09k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
8.09k
                                      m_count};
2812
8.09k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2809
4.57k
    {
2810
4.57k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
4.57k
                                      m_count};
2812
4.57k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2809
1.82k
    {
2810
1.82k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
1.82k
                                      m_count};
2812
1.82k
    }
2813
2814
    constexpr auto end() const
2815
79.6k
    {
2816
79.6k
        return sentinel<true>{m_base.get().end()};
2817
79.6k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2815
56.2k
    {
2816
56.2k
        return sentinel<true>{m_base.get().end()};
2817
56.2k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2815
11.2k
    {
2816
11.2k
        return sentinel<true>{m_base.get().end()};
2817
11.2k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2815
9.42k
    {
2816
9.42k
        return sentinel<true>{m_base.get().end()};
2817
9.42k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2815
2.70k
    {
2816
2.70k
        return sentinel<true>{m_base.get().end()};
2817
2.70k
    }
2818
2819
private:
2820
    take_width_view_storage<View> m_base{};
2821
    std::ptrdiff_t m_count{0};
2822
};
2823
2824
template <typename R>
2825
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2826
2827
struct _take_width_fn {
2828
    template <typename R>
2829
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
2830
        -> decltype(take_width_view{r, n})
2831
15.0k
    {
2832
15.0k
        return take_width_view{r, n};
2833
15.0k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
2831
8.36k
    {
2832
8.36k
        return take_width_view{r, n};
2833
8.36k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
2831
3.04k
    {
2832
3.04k
        return take_width_view{r, n};
2833
3.04k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
2831
2.63k
    {
2832
2.63k
        return take_width_view{r, n};
2833
2.63k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
2831
1.03k
    {
2832
1.03k
        return take_width_view{r, n};
2833
1.03k
    }
2834
};
2835
2836
inline constexpr _take_width_fn take_width{};
2837
}  // namespace impl
2838
2839
namespace ranges {
2840
template <typename R>
2841
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
2842
    enable_borrowed_range<R>;
2843
}
2844
2845
/////////////////////////////////////////////////////////////////
2846
// contiguous_scan_context
2847
/////////////////////////////////////////////////////////////////
2848
2849
namespace impl {
2850
template <typename CharT>
2851
class basic_contiguous_scan_context
2852
    : public detail::scan_context_base<
2853
          basic_scan_args<basic_scan_context<CharT>>> {
2854
    using base =
2855
        detail::scan_context_base<basic_scan_args<basic_scan_context<CharT>>>;
2856
2857
public:
2858
    using char_type = CharT;
2859
    using buffer_type = detail::basic_scan_buffer<char_type>;
2860
    using range_type = ranges::subrange<const char_type*, const char_type*>;
2861
    using iterator = const char_type*;
2862
    using sentinel = const char_type*;
2863
    using parse_context_type = basic_scan_parse_context<char_type>;
2864
2865
    using parent_context_type = basic_scan_context<char_type>;
2866
    using args_type = basic_scan_args<parent_context_type>;
2867
    using arg_type = basic_scan_arg<parent_context_type>;
2868
2869
    template <typename Range,
2870
              std::enable_if_t<ranges::contiguous_range<Range> &&
2871
                               ranges::borrowed_range<Range>>* = nullptr>
2872
    constexpr basic_contiguous_scan_context(Range&& r,
2873
                                            args_type a,
2874
                                            detail::locale_ref loc = {})
2875
        : base(SCN_MOVE(a), loc),
2876
          m_range(SCN_FWD(r)),
2877
          m_current(m_range.begin())
2878
4.23M
    {
2879
4.23M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
2.67M
    {
2879
2.67M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
1.56M
    {
2879
1.56M
    }
2880
2881
    constexpr iterator begin() const
2882
11.3M
    {
2883
11.3M
        return m_current;
2884
11.3M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::begin() const
Line
Count
Source
2882
7.57M
    {
2883
7.57M
        return m_current;
2884
7.57M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin() const
Line
Count
Source
2882
3.75M
    {
2883
3.75M
        return m_current;
2884
3.75M
    }
2885
2886
    constexpr sentinel end() const
2887
7.22M
    {
2888
7.22M
        return m_range.end();
2889
7.22M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::end() const
Line
Count
Source
2887
4.93M
    {
2888
4.93M
        return m_range.end();
2889
4.93M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::end() const
Line
Count
Source
2887
2.28M
    {
2888
2.28M
        return m_range.end();
2889
2.28M
    }
2890
2891
    constexpr auto range() const
2892
3.82M
    {
2893
3.82M
        return ranges::subrange{begin(), end()};
2894
3.82M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::range() const
Line
Count
Source
2892
2.56M
    {
2893
2.56M
        return ranges::subrange{begin(), end()};
2894
2.56M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::range() const
Line
Count
Source
2892
1.25M
    {
2893
1.25M
        return ranges::subrange{begin(), end()};
2894
1.25M
    }
2895
2896
    constexpr auto underlying_range() const
2897
0
    {
2898
0
        return m_range;
2899
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::underlying_range() const
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::underlying_range() const
2900
2901
    void advance_to(iterator it)
2902
3.21M
    {
2903
3.21M
        SCN_EXPECT(it <= end());
2904
3.21M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
3.21M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
3.21M
        }
2909
3.21M
        m_current = SCN_MOVE(it);
2910
3.21M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(char const*)
Line
Count
Source
2902
2.33M
    {
2903
2.33M
        SCN_EXPECT(it <= end());
2904
2.33M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
2.33M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
2.33M
        }
2909
2.33M
        m_current = SCN_MOVE(it);
2910
2.33M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
2902
879k
    {
2903
879k
        SCN_EXPECT(it <= end());
2904
879k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
879k
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
879k
        }
2909
879k
        m_current = SCN_MOVE(it);
2910
879k
    }
2911
2912
    void advance_to(const typename parent_context_type::iterator& it)
2913
0
    {
2914
0
        SCN_EXPECT(it.position() <= m_range.size());
2915
0
        m_current = m_range.begin() + it.position();
2916
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
2917
2918
    std::ptrdiff_t begin_position()
2919
0
    {
2920
0
        return ranges::distance(m_range.begin(), begin());
2921
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::begin_position()
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin_position()
2922
2923
private:
2924
    range_type m_range;
2925
    iterator m_current;
2926
};
2927
2928
struct reader_error_handler {
2929
    constexpr void on_error(const char* msg)
2930
61.3k
    {
2931
61.3k
        SCN_UNLIKELY_ATTR
2932
61.3k
        m_msg = msg;
2933
61.3k
    }
2934
    explicit constexpr operator bool() const
2935
7.30M
    {
2936
7.30M
        return m_msg == nullptr;
2937
7.30M
    }
2938
2939
    const char* m_msg{nullptr};
2940
};
2941
2942
/////////////////////////////////////////////////////////////////
2943
// General reading support
2944
/////////////////////////////////////////////////////////////////
2945
2946
template <typename SourceRange>
2947
auto skip_classic_whitespace(const SourceRange& range,
2948
                             bool allow_exhaustion = false)
2949
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
2950
10.7M
{
2951
10.7M
    if (!allow_exhaustion) {
2952
10.6M
        auto it = read_while_classic_space(range);
2953
10.6M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
10.6M
            SCN_UNLIKELY(!e)) {
2955
83.4k
            return unexpected(e);
2956
83.4k
        }
2957
2958
10.6M
        return it;
2959
10.6M
    }
2960
2961
1.21k
    return read_while_classic_space(range);
2962
10.7M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
468
{
2951
468
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
468
    return read_while_classic_space(range);
2962
468
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
3.43M
{
2951
3.43M
    if (!allow_exhaustion) {
2952
3.43M
        auto it = read_while_classic_space(range);
2953
3.43M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
3.43M
            SCN_UNLIKELY(!e)) {
2955
33.0k
            return unexpected(e);
2956
33.0k
        }
2957
2958
3.40M
        return it;
2959
3.43M
    }
2960
2961
180
    return read_while_classic_space(range);
2962
3.43M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
3.45M
{
2951
3.45M
    if (!allow_exhaustion) {
2952
3.45M
        auto it = read_while_classic_space(range);
2953
3.45M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
3.45M
            SCN_UNLIKELY(!e)) {
2955
36.4k
            return unexpected(e);
2956
36.4k
        }
2957
2958
3.42M
        return it;
2959
3.45M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
3.45M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
162
{
2951
162
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
162
    return read_while_classic_space(range);
2962
162
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
2.26M
{
2951
2.26M
    if (!allow_exhaustion) {
2952
2.26M
        auto it = read_while_classic_space(range);
2953
2.26M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
2.26M
            SCN_UNLIKELY(!e)) {
2955
7.54k
            return unexpected(e);
2956
7.54k
        }
2957
2958
2.25M
        return it;
2959
2.26M
    }
2960
2961
404
    return read_while_classic_space(range);
2962
2.26M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
1.54M
{
2951
1.54M
    if (!allow_exhaustion) {
2952
1.54M
        auto it = read_while_classic_space(range);
2953
1.54M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
1.54M
            SCN_UNLIKELY(!e)) {
2955
6.32k
            return unexpected(e);
2956
6.32k
        }
2957
2958
1.53M
        return it;
2959
1.54M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
1.54M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
1.94k
{
2951
1.94k
    if (!allow_exhaustion) {
2952
1.94k
        auto it = read_while_classic_space(range);
2953
1.94k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
1.94k
            SCN_UNLIKELY(!e)) {
2955
174
            return unexpected(e);
2956
174
        }
2957
2958
1.76k
        return it;
2959
1.94k
    }
2960
2961
0
    return read_while_classic_space(range);
2962
1.94k
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
796
{
2951
796
    if (!allow_exhaustion) {
2952
796
        auto it = read_while_classic_space(range);
2953
796
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
796
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
796
        return it;
2959
796
    }
2960
2961
0
    return read_while_classic_space(range);
2962
796
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
2963
2964
template <typename SourceCharT, typename DestCharT>
2965
scan_error transcode_impl(std::basic_string_view<SourceCharT> src,
2966
                          std::basic_string<DestCharT>& dst)
2967
3.04k
{
2968
3.04k
    dst.clear();
2969
3.04k
    transcode_valid_to_string(src, dst);
2970
3.04k
    return {};
2971
3.04k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2967
2.03k
{
2968
2.03k
    dst.clear();
2969
2.03k
    transcode_valid_to_string(src, dst);
2970
2.03k
    return {};
2971
2.03k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2967
1.01k
{
2968
1.01k
    dst.clear();
2969
1.01k
    transcode_valid_to_string(src, dst);
2970
1.01k
    return {};
2971
1.01k
}
2972
2973
template <typename SourceCharT, typename DestCharT>
2974
scan_error transcode_if_necessary(
2975
    const contiguous_range_factory<SourceCharT>& source,
2976
    std::basic_string<DestCharT>& dest)
2977
{
2978
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2979
        dest.assign(source.view());
2980
    }
2981
    else {
2982
        return transcode_impl(source.view(), dest);
2983
    }
2984
2985
    return {};
2986
}
2987
2988
template <typename SourceCharT, typename DestCharT>
2989
scan_error transcode_if_necessary(
2990
    contiguous_range_factory<SourceCharT>&& source,
2991
    std::basic_string<DestCharT>& dest)
2992
856k
{
2993
856k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
855k
        if (source.stores_allocated_string()) {
2995
3.80k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
3.80k
        }
2997
851k
        else {
2998
851k
            dest.assign(source.view());
2999
851k
        }
3000
855k
    }
3001
490
    else {
3002
490
        return transcode_impl(source.view(), dest);
3003
490
    }
3004
3005
0
    return {};
3006
856k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
146k
{
2993
146k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
146k
        if (source.stores_allocated_string()) {
2995
2.47k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
2.47k
        }
2997
144k
        else {
2998
144k
            dest.assign(source.view());
2999
144k
        }
3000
146k
    }
3001
146k
    else {
3002
146k
        return transcode_impl(source.view(), dest);
3003
146k
    }
3004
3005
146k
    return {};
3006
146k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
366
{
2993
366
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
366
        if (source.stores_allocated_string()) {
2995
366
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
366
        }
2997
366
        else {
2998
366
            dest.assign(source.view());
2999
366
        }
3000
366
    }
3001
366
    else {
3002
366
        return transcode_impl(source.view(), dest);
3003
366
    }
3004
3005
0
    return {};
3006
366
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
124
{
2993
124
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
124
        if (source.stores_allocated_string()) {
2995
124
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
124
        }
2997
124
        else {
2998
124
            dest.assign(source.view());
2999
124
        }
3000
124
    }
3001
124
    else {
3002
124
        return transcode_impl(source.view(), dest);
3003
124
    }
3004
3005
0
    return {};
3006
124
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
709k
{
2993
709k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
709k
        if (source.stores_allocated_string()) {
2995
1.33k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
1.33k
        }
2997
707k
        else {
2998
707k
            dest.assign(source.view());
2999
707k
        }
3000
709k
    }
3001
709k
    else {
3002
709k
        return transcode_impl(source.view(), dest);
3003
709k
    }
3004
3005
709k
    return {};
3006
709k
}
3007
3008
template <typename SourceCharT, typename DestCharT>
3009
scan_error transcode_if_necessary(string_view_wrapper<SourceCharT> source,
3010
                                  std::basic_string<DestCharT>& dest)
3011
840k
{
3012
840k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
2.55k
        dest.assign(source.view());
3014
2.55k
    }
3015
2.55k
    else {
3016
2.55k
        return transcode_impl(source.view(), dest);
3017
2.55k
    }
3018
3019
0
    return {};
3020
840k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
128k
{
3012
128k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
128k
        dest.assign(source.view());
3014
128k
    }
3015
128k
    else {
3016
128k
        return transcode_impl(source.view(), dest);
3017
128k
    }
3018
3019
128k
    return {};
3020
128k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
1.66k
{
3012
1.66k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
1.66k
        dest.assign(source.view());
3014
1.66k
    }
3015
1.66k
    else {
3016
1.66k
        return transcode_impl(source.view(), dest);
3017
1.66k
    }
3018
3019
0
    return {};
3020
1.66k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
886
{
3012
886
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
886
        dest.assign(source.view());
3014
886
    }
3015
886
    else {
3016
886
        return transcode_impl(source.view(), dest);
3017
886
    }
3018
3019
0
    return {};
3020
886
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
709k
{
3012
709k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
709k
        dest.assign(source.view());
3014
709k
    }
3015
709k
    else {
3016
709k
        return transcode_impl(source.view(), dest);
3017
709k
    }
3018
3019
709k
    return {};
3020
709k
}
3021
3022
/////////////////////////////////////////////////////////////////
3023
// Reader base classes etc.
3024
/////////////////////////////////////////////////////////////////
3025
3026
template <typename Derived, typename CharT>
3027
class reader_base {
3028
public:
3029
    using char_type = CharT;
3030
3031
    constexpr reader_base() = default;
3032
3033
    bool skip_ws_before_read() const
3034
13.0M
    {
3035
13.0M
        return true;
3036
13.0M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
7.45M
    {
3035
7.45M
        return true;
3036
7.45M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
3.48M
    {
3035
3.48M
        return true;
3036
3.48M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
714k
    {
3035
714k
        return true;
3036
714k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
1.38M
    {
3035
1.38M
        return true;
3036
1.38M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
1.40k
    {
3035
1.40k
        return true;
3036
1.40k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
1.05k
    {
3035
1.05k
        return true;
3036
1.05k
    }
3037
3038
    scan_error check_specs(const detail::format_specs& specs)
3039
7.29M
    {
3040
7.29M
        reader_error_handler eh{};
3041
7.29M
        get_derived().check_specs_impl(specs, eh);
3042
7.29M
        if (SCN_UNLIKELY(!eh)) {
3043
46.8k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
46.8k
        }
3045
7.24M
        return {};
3046
7.29M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.40M
    {
3040
3.40M
        reader_error_handler eh{};
3041
3.40M
        get_derived().check_specs_impl(specs, eh);
3042
3.40M
        if (SCN_UNLIKELY(!eh)) {
3043
10.1k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
10.1k
        }
3045
3.39M
        return {};
3046
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
1.51M
    {
3040
1.51M
        reader_error_handler eh{};
3041
1.51M
        get_derived().check_specs_impl(specs, eh);
3042
1.51M
        if (SCN_UNLIKELY(!eh)) {
3043
5.08k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
5.08k
        }
3045
1.51M
        return {};
3046
1.51M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
196k
    {
3040
196k
        reader_error_handler eh{};
3041
196k
        get_derived().check_specs_impl(specs, eh);
3042
196k
        if (SCN_UNLIKELY(!eh)) {
3043
6.18k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
6.18k
        }
3045
190k
        return {};
3046
196k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
571k
    {
3040
571k
        reader_error_handler eh{};
3041
571k
        get_derived().check_specs_impl(specs, eh);
3042
571k
        if (SCN_UNLIKELY(!eh)) {
3043
4.35k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.35k
        }
3045
567k
        return {};
3046
571k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
699k
    {
3040
699k
        reader_error_handler eh{};
3041
699k
        get_derived().check_specs_impl(specs, eh);
3042
699k
        if (SCN_UNLIKELY(!eh)) {
3043
2.20k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
2.20k
        }
3045
697k
        return {};
3046
699k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
893k
    {
3040
893k
        reader_error_handler eh{};
3041
893k
        get_derived().check_specs_impl(specs, eh);
3042
893k
        if (SCN_UNLIKELY(!eh)) {
3043
11.8k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
11.8k
        }
3045
881k
        return {};
3046
893k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.66k
    {
3040
5.66k
        reader_error_handler eh{};
3041
5.66k
        get_derived().check_specs_impl(specs, eh);
3042
5.66k
        if (SCN_UNLIKELY(!eh)) {
3043
4.89k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.89k
        }
3045
766
        return {};
3046
5.66k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
2.66k
    {
3040
2.66k
        reader_error_handler eh{};
3041
2.66k
        get_derived().check_specs_impl(specs, eh);
3042
2.66k
        if (SCN_UNLIKELY(!eh)) {
3043
2.09k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
2.09k
        }
3045
574
        return {};
3046
2.66k
    }
3047
3048
private:
3049
    Derived& get_derived()
3050
7.29M
    {
3051
7.29M
        return static_cast<Derived&>(*this);
3052
7.29M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3050
3.40M
    {
3051
3.40M
        return static_cast<Derived&>(*this);
3052
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3050
1.51M
    {
3051
1.51M
        return static_cast<Derived&>(*this);
3052
1.51M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3050
196k
    {
3051
196k
        return static_cast<Derived&>(*this);
3052
196k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
571k
    {
3051
571k
        return static_cast<Derived&>(*this);
3052
571k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
699k
    {
3051
699k
        return static_cast<Derived&>(*this);
3052
699k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
893k
    {
3051
893k
        return static_cast<Derived&>(*this);
3052
893k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3050
5.66k
    {
3051
5.66k
        return static_cast<Derived&>(*this);
3052
5.66k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
2.66k
    {
3051
2.66k
        return static_cast<Derived&>(*this);
3052
2.66k
    }
3053
    const Derived& get_derived() const
3054
    {
3055
        return static_cast<const Derived&>(*this);
3056
    }
3057
};
3058
3059
template <typename CharT>
3060
class reader_impl_for_monostate {
3061
public:
3062
    constexpr reader_impl_for_monostate() = default;
3063
3064
    bool skip_ws_before_read() const
3065
0
    {
3066
0
        return true;
3067
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3068
3069
    static scan_error check_specs(const detail::format_specs&)
3070
0
    {
3071
0
        SCN_EXPECT(false);
3072
0
        SCN_UNREACHABLE;
3073
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::check_specs(scn::v3::detail::format_specs const&)
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
3074
3075
    template <typename Range>
3076
    auto read_default(Range, monostate&, detail::locale_ref)
3077
        -> scan_expected<ranges::const_iterator_t<Range>>
3078
0
    {
3079
0
        SCN_EXPECT(false);
3080
0
        SCN_UNREACHABLE;
3081
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3082
3083
    template <typename Range>
3084
    auto read_specs(Range,
3085
                    const detail::format_specs&,
3086
                    monostate&,
3087
                    detail::locale_ref)
3088
        -> scan_expected<ranges::const_iterator_t<Range>>
3089
0
    {
3090
0
        SCN_EXPECT(false);
3091
0
        SCN_UNREACHABLE;
3092
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3093
};
3094
3095
/////////////////////////////////////////////////////////////////
3096
// Numeric reader support
3097
/////////////////////////////////////////////////////////////////
3098
3099
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3100
3101
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3102
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3103
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3104
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3105
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3106
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3107
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3108
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3109
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3110
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3111
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3112
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3113
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3114
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3115
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3116
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3117
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3118
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3119
    255};
3120
3121
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3122
45.2M
{
3123
45.2M
    return char_to_int_table[static_cast<unsigned char>(ch)];
3124
45.2M
}
3125
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3126
3.96M
{
3127
3.96M
#if WCHAR_MIN < 0
3128
3.96M
    if (ch >= 0 && ch <= 255) {
3129
#else
3130
    if (ch <= 255) {
3131
#endif
3132
2.35M
        return char_to_int(static_cast<char>(ch));
3133
2.35M
    }
3134
1.61M
    return 255;
3135
3.96M
}
3136
3137
template <typename Range>
3138
auto parse_numeric_sign(Range range)
3139
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3140
8.20M
{
3141
8.20M
    auto r = read_one_of_code_unit(range, "+-");
3142
8.20M
    if (!r) {
3143
7.29M
        if (r.error() == parse_error::error) {
3144
7.29M
            return std::pair{range.begin(), sign_type::default_sign};
3145
7.29M
        }
3146
505
        return unexpected(eof_error::eof);
3147
7.29M
    }
3148
3149
909k
    auto& it = *r;
3150
909k
    if (*range.begin() == '-') {
3151
504k
        return std::pair{it, sign_type::minus_sign};
3152
504k
    }
3153
404k
    return std::pair{it, sign_type::plus_sign};
3154
909k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
3.38M
{
3141
3.38M
    auto r = read_one_of_code_unit(range, "+-");
3142
3.38M
    if (!r) {
3143
2.91M
        if (r.error() == parse_error::error) {
3144
2.91M
            return std::pair{range.begin(), sign_type::default_sign};
3145
2.91M
        }
3146
309
        return unexpected(eof_error::eof);
3147
2.91M
    }
3148
3149
472k
    auto& it = *r;
3150
472k
    if (*range.begin() == '-') {
3151
252k
        return std::pair{it, sign_type::minus_sign};
3152
252k
    }
3153
220k
    return std::pair{it, sign_type::plus_sign};
3154
472k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
1.09k
{
3141
1.09k
    auto r = read_one_of_code_unit(range, "+-");
3142
1.09k
    if (!r) {
3143
1.09k
        if (r.error() == parse_error::error) {
3144
1.09k
            return std::pair{range.begin(), sign_type::default_sign};
3145
1.09k
        }
3146
0
        return unexpected(eof_error::eof);
3147
1.09k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
3.16M
{
3141
3.16M
    auto r = read_one_of_code_unit(range, "+-");
3142
3.16M
    if (!r) {
3143
2.74M
        if (r.error() == parse_error::error) {
3144
2.74M
            return std::pair{range.begin(), sign_type::default_sign};
3145
2.74M
        }
3146
102
        return unexpected(eof_error::eof);
3147
2.74M
    }
3148
3149
425k
    auto& it = *r;
3150
425k
    if (*range.begin() == '-') {
3151
243k
        return std::pair{it, sign_type::minus_sign};
3152
243k
    }
3153
182k
    return std::pair{it, sign_type::plus_sign};
3154
425k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
827k
{
3141
827k
    auto r = read_one_of_code_unit(range, "+-");
3142
827k
    if (!r) {
3143
821k
        if (r.error() == parse_error::error) {
3144
821k
            return std::pair{range.begin(), sign_type::default_sign};
3145
821k
        }
3146
70
        return unexpected(eof_error::eof);
3147
821k
    }
3148
3149
6.16k
    auto& it = *r;
3150
6.16k
    if (*range.begin() == '-') {
3151
5.24k
        return std::pair{it, sign_type::minus_sign};
3152
5.24k
    }
3153
920
    return std::pair{it, sign_type::plus_sign};
3154
6.16k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
510
{
3141
510
    auto r = read_one_of_code_unit(range, "+-");
3142
510
    if (!r) {
3143
510
        if (r.error() == parse_error::error) {
3144
510
            return std::pair{range.begin(), sign_type::default_sign};
3145
510
        }
3146
0
        return unexpected(eof_error::eof);
3147
510
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
825k
{
3141
825k
    auto r = read_one_of_code_unit(range, "+-");
3142
825k
    if (!r) {
3143
820k
        if (r.error() == parse_error::error) {
3144
820k
            return std::pair{range.begin(), sign_type::default_sign};
3145
820k
        }
3146
24
        return unexpected(eof_error::eof);
3147
820k
    }
3148
3149
4.70k
    auto& it = *r;
3150
4.70k
    if (*range.begin() == '-') {
3151
3.91k
        return std::pair{it, sign_type::minus_sign};
3152
3.91k
    }
3153
784
    return std::pair{it, sign_type::plus_sign};
3154
4.70k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
3155
3156
inline void transform_thsep_indices(std::string& indices,
3157
                                    std::ptrdiff_t last_thsep_index)
3158
55.8k
{
3159
191M
    for (auto thsep_it = indices.rbegin(); thsep_it != indices.rend();
3160
191M
         ++thsep_it) {
3161
191M
        const auto tmp = *thsep_it;
3162
191M
        *thsep_it = static_cast<char>(last_thsep_index - tmp - 1);
3163
191M
        last_thsep_index = static_cast<std::ptrdiff_t>(tmp);
3164
191M
    }
3165
55.8k
    indices.insert(indices.begin(), static_cast<char>(last_thsep_index));
3166
55.8k
}
3167
3168
template <typename Range>
3169
bool check_thsep_grouping_impl(Range range,
3170
                               std::string& thsep_indices,
3171
                               std::string_view grouping)
3172
55.8k
{
3173
55.8k
    transform_thsep_indices(thsep_indices,
3174
55.8k
                            ranges::distance(range.begin(), range.end()));
3175
3176
55.8k
    auto thsep_it = thsep_indices.rbegin();
3177
55.8k
    for (auto grouping_it = grouping.begin();
3178
55.8k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
55.8k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
55.8k
    SCN_CLANG_PUSH
3186
    // false positive
3187
55.8k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
156k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
149k
        if (*thsep_it != grouping.back()) {
3191
48.8k
            return false;
3192
48.8k
        }
3193
149k
    }
3194
3195
6.98k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
6.98k
        if (*thsep_it > grouping.back()) {
3197
2.35k
            return false;
3198
2.35k
        }
3199
6.98k
    }
3200
3201
4.62k
    SCN_CLANG_POP
3202
3203
4.62k
    return true;
3204
6.98k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.44k
{
3173
4.44k
    transform_thsep_indices(thsep_indices,
3174
4.44k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.44k
    auto thsep_it = thsep_indices.rbegin();
3177
4.44k
    for (auto grouping_it = grouping.begin();
3178
4.44k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.44k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.44k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.44k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
54.2k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.8k
        if (*thsep_it != grouping.back()) {
3191
1.04k
            return false;
3192
1.04k
        }
3193
50.8k
    }
3194
3195
3.40k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.40k
        if (*thsep_it > grouping.back()) {
3197
1.08k
            return false;
3198
1.08k
        }
3199
3.40k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.40k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.42k
{
3173
4.42k
    transform_thsep_indices(thsep_indices,
3174
4.42k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.42k
    auto thsep_it = thsep_indices.rbegin();
3177
4.42k
    for (auto grouping_it = grouping.begin();
3178
4.42k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.42k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.42k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.42k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
53.9k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.6k
        if (*thsep_it != grouping.back()) {
3191
1.03k
            return false;
3192
1.03k
        }
3193
50.6k
    }
3194
3195
3.38k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.38k
        if (*thsep_it > grouping.back()) {
3197
1.07k
            return false;
3198
1.07k
        }
3199
3.38k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.38k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
23.4k
{
3173
23.4k
    transform_thsep_indices(thsep_indices,
3174
23.4k
                            ranges::distance(range.begin(), range.end()));
3175
3176
23.4k
    auto thsep_it = thsep_indices.rbegin();
3177
23.4k
    for (auto grouping_it = grouping.begin();
3178
23.4k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
23.4k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
23.4k
    SCN_CLANG_PUSH
3186
    // false positive
3187
23.4k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
24.0k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
23.9k
        if (*thsep_it != grouping.back()) {
3191
23.3k
            return false;
3192
23.3k
        }
3193
23.9k
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
23.4k
{
3173
23.4k
    transform_thsep_indices(thsep_indices,
3174
23.4k
                            ranges::distance(range.begin(), range.end()));
3175
3176
23.4k
    auto thsep_it = thsep_indices.rbegin();
3177
23.4k
    for (auto grouping_it = grouping.begin();
3178
23.4k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
23.4k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
23.4k
    SCN_CLANG_PUSH
3186
    // false positive
3187
23.4k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
24.0k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
23.9k
        if (*thsep_it != grouping.back()) {
3191
23.3k
            return false;
3192
23.3k
        }
3193
23.9k
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
3205
3206
template <typename Range>
3207
scan_error check_thsep_grouping(Range range,
3208
                                std::string thsep_indices,
3209
                                std::string_view grouping)
3210
55.8k
{
3211
55.8k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
55.8k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
51.1k
        SCN_UNLIKELY_ATTR
3215
51.1k
        return {scan_error::invalid_scanned_value,
3216
51.1k
                "Invalid thousands separator grouping"};
3217
51.1k
    }
3218
3219
4.62k
    return {};
3220
55.8k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.44k
{
3211
4.44k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.44k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.13k
        SCN_UNLIKELY_ATTR
3215
2.13k
        return {scan_error::invalid_scanned_value,
3216
2.13k
                "Invalid thousands separator grouping"};
3217
2.13k
    }
3218
3219
2.31k
    return {};
3220
4.44k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.42k
{
3211
4.42k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.42k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.11k
        SCN_UNLIKELY_ATTR
3215
2.11k
        return {scan_error::invalid_scanned_value,
3216
2.11k
                "Invalid thousands separator grouping"};
3217
2.11k
    }
3218
3219
2.31k
    return {};
3220
4.42k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
23.4k
{
3211
23.4k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
23.4k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
23.4k
        SCN_UNLIKELY_ATTR
3215
23.4k
        return {scan_error::invalid_scanned_value,
3216
23.4k
                "Invalid thousands separator grouping"};
3217
23.4k
    }
3218
3219
0
    return {};
3220
23.4k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
23.4k
{
3211
23.4k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
23.4k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
23.4k
        SCN_UNLIKELY_ATTR
3215
23.4k
        return {scan_error::invalid_scanned_value,
3216
23.4k
                "Invalid thousands separator grouping"};
3217
23.4k
    }
3218
3219
0
    return {};
3220
23.4k
}
3221
3222
template <typename CharT>
3223
class numeric_reader {
3224
public:
3225
    contiguous_range_factory<CharT> m_buffer{};
3226
};
3227
3228
/////////////////////////////////////////////////////////////////
3229
// Integer reader
3230
/////////////////////////////////////////////////////////////////
3231
3232
template <typename Iterator>
3233
struct parse_integer_prefix_result {
3234
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3235
    int parsed_base{0};
3236
    sign_type sign{sign_type::default_sign};
3237
    bool is_zero{false};
3238
};
3239
3240
template <typename Range>
3241
auto parse_integer_bin_base_prefix(Range range)
3242
    -> parse_expected<ranges::const_iterator_t<Range>>
3243
1.24M
{
3244
1.24M
    return read_matching_string_classic_nocase(range, "0b");
3245
1.24M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
528k
{
3244
528k
    return read_matching_string_classic_nocase(range, "0b");
3245
528k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
34
{
3244
34
    return read_matching_string_classic_nocase(range, "0b");
3245
34
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
525k
{
3244
525k
    return read_matching_string_classic_nocase(range, "0b");
3245
525k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
28
{
3244
28
    return read_matching_string_classic_nocase(range, "0b");
3245
28
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
3246
3247
template <typename Range>
3248
auto parse_integer_hex_base_prefix(Range range)
3249
    -> parse_expected<ranges::const_iterator_t<Range>>
3250
1.86M
{
3251
1.86M
    return read_matching_string_classic_nocase(range, "0x");
3252
1.86M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
840k
{
3251
840k
    return read_matching_string_classic_nocase(range, "0x");
3252
840k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
284
{
3251
284
    return read_matching_string_classic_nocase(range, "0x");
3252
284
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
836k
{
3251
836k
    return read_matching_string_classic_nocase(range, "0x");
3252
836k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
93.9k
{
3251
93.9k
    return read_matching_string_classic_nocase(range, "0x");
3252
93.9k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
134
{
3251
134
    return read_matching_string_classic_nocase(range, "0x");
3252
134
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
94.7k
{
3251
94.7k
    return read_matching_string_classic_nocase(range, "0x");
3252
94.7k
}
3253
3254
template <typename Range>
3255
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3256
    -> parse_expected<ranges::const_iterator_t<Range>>
3257
1.36M
{
3258
1.36M
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
12.7k
        return *r;
3260
12.7k
    }
3261
3262
1.35M
    if (auto r = read_matching_code_unit(range, '0')) {
3263
543k
        zero_parsed = true;
3264
543k
        return *r;
3265
543k
    }
3266
3267
807k
    return unexpected(parse_error::error);
3268
1.35M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
589k
{
3258
589k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
582k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
272k
        zero_parsed = true;
3264
272k
        return *r;
3265
272k
    }
3266
3267
310k
    return unexpected(parse_error::error);
3268
582k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
34
{
3258
34
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
34
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
34
    return unexpected(parse_error::error);
3268
34
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
586k
{
3258
586k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
580k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
270k
        zero_parsed = true;
3264
270k
        return *r;
3265
270k
    }
3266
3267
309k
    return unexpected(parse_error::error);
3268
580k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
34
{
3258
34
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
34
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
34
    return unexpected(parse_error::error);
3268
34
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
3269
3270
template <typename Range>
3271
auto parse_integer_base_prefix_for_detection(Range range)
3272
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3273
1.02M
{
3274
1.02M
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
9.80k
        return {*r, 16, false};
3276
9.80k
    }
3277
1.01M
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
4.74k
        return {*r, 2, false};
3279
4.74k
    }
3280
1.01M
    {
3281
1.01M
        bool zero_parsed{false};
3282
1.01M
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
436k
            return {*r, 8, zero_parsed};
3284
436k
        }
3285
1.01M
    }
3286
577k
    return {range.begin(), 10, false};
3287
1.01M
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
468k
{
3274
468k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.98k
        return {*r, 16, false};
3276
4.98k
    }
3277
463k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
461k
    {
3281
461k
        bool zero_parsed{false};
3282
461k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
219k
            return {*r, 8, zero_parsed};
3284
219k
        }
3285
461k
    }
3286
242k
    return {range.begin(), 10, false};
3287
461k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
20
{
3274
20
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
20
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
20
    {
3281
20
        bool zero_parsed{false};
3282
20
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
20
    }
3286
20
    return {range.begin(), 10, false};
3287
20
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
466k
{
3274
466k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.82k
        return {*r, 16, false};
3276
4.82k
    }
3277
461k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
458k
    {
3281
458k
        bool zero_parsed{false};
3282
458k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
217k
            return {*r, 8, zero_parsed};
3284
217k
        }
3285
458k
    }
3286
241k
    return {range.begin(), 10, false};
3287
458k
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
46.9k
{
3274
46.9k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
46.9k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
46.9k
    {
3281
46.9k
        bool zero_parsed{false};
3282
46.9k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
46.9k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
46.9k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
22
{
3274
22
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
22
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
22
    {
3281
22
        bool zero_parsed{false};
3282
22
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
22
    }
3286
22
    return {range.begin(), 10, false};
3287
22
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
47.0k
{
3274
47.0k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
47.0k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
47.0k
    {
3281
47.0k
        bool zero_parsed{false};
3282
47.0k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
47.0k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
47.0k
}
3288
3289
template <typename Range>
3290
auto parse_integer_base_prefix(Range range, int base)
3291
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3292
5.03M
{
3293
5.03M
    switch (base) {
3294
222k
        case 2:
3295
            // allow 0b/0B
3296
222k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
222k
                    false};
3298
3299
349k
        case 8: {
3300
            // allow 0o/0O/0
3301
349k
            bool zero_parsed = false;
3302
349k
            auto it = apply_opt(
3303
349k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
349k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
836k
        case 16:
3308
            // allow 0x/0X
3309
836k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
836k
                    false};
3311
3312
1.02M
        case 0:
3313
            // detect base
3314
1.02M
            return parse_integer_base_prefix_for_detection(range);
3315
3316
2.59M
        default:
3317
            // no base prefix allowed
3318
2.59M
            return {range.begin(), base, false};
3319
5.03M
    }
3320
5.03M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.8k
        case 2:
3295
            // allow 0b/0B
3296
64.8k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.8k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
371k
        case 16:
3308
            // allow 0x/0X
3309
371k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
371k
                    false};
3311
3312
468k
        case 0:
3313
            // detect base
3314
468k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
822
{
3293
822
    switch (base) {
3294
14
        case 2:
3295
            // allow 0b/0B
3296
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
14
                    false};
3298
3299
14
        case 8: {
3300
            // allow 0o/0O/0
3301
14
            bool zero_parsed = false;
3302
14
            auto it = apply_opt(
3303
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
14
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
264
        case 16:
3308
            // allow 0x/0X
3309
264
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
264
                    false};
3311
3312
20
        case 0:
3313
            // detect base
3314
20
            return parse_integer_base_prefix_for_detection(range);
3315
3316
510
        default:
3317
            // no base prefix allowed
3318
510
            return {range.begin(), base, false};
3319
822
    }
3320
822
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.6k
        case 2:
3295
            // allow 0b/0B
3296
64.6k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.6k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
370k
        case 16:
3308
            // allow 0x/0X
3309
370k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
370k
                    false};
3311
3312
466k
        case 0:
3313
            // detect base
3314
466k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
351k
{
3293
351k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
46.9k
        case 16:
3308
            // allow 0x/0X
3309
46.9k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
46.9k
                    false};
3311
3312
46.9k
        case 0:
3313
            // detect base
3314
46.9k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
164k
        default:
3317
            // no base prefix allowed
3318
164k
            return {range.begin(), base, false};
3319
351k
    }
3320
351k
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
390
{
3293
390
    switch (base) {
3294
6
        case 2:
3295
            // allow 0b/0B
3296
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
6
                    false};
3298
3299
12
        case 8: {
3300
            // allow 0o/0O/0
3301
12
            bool zero_parsed = false;
3302
12
            auto it = apply_opt(
3303
12
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
12
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
112
        case 16:
3308
            // allow 0x/0X
3309
112
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
112
                    false};
3311
3312
22
        case 0:
3313
            // detect base
3314
22
            return parse_integer_base_prefix_for_detection(range);
3315
3316
238
        default:
3317
            // no base prefix allowed
3318
238
            return {range.begin(), base, false};
3319
390
    }
3320
390
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
354k
{
3293
354k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
47.7k
        case 16:
3308
            // allow 0x/0X
3309
47.7k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
47.7k
                    false};
3311
3312
47.0k
        case 0:
3313
            // detect base
3314
47.0k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
165k
        default:
3317
            // no base prefix allowed
3318
165k
            return {range.begin(), base, false};
3319
354k
    }
3320
354k
}
3321
3322
template <typename Range>
3323
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3324
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3325
5.03M
{
3326
5.03M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
5.03M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
5.03M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
5.03M
        parse_integer_base_prefix(
3331
5.03M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
5.03M
    if (parsed_zero) {
3334
543k
        if (digits_begin_it == range.end() ||
3335
543k
            char_to_int(*digits_begin_it) >= 8) {
3336
318k
            digits_begin_it = base_prefix_begin_it;
3337
318k
        }
3338
224k
        else {
3339
224k
            parsed_zero = false;
3340
224k
        }
3341
543k
    }
3342
4.48M
    else {
3343
4.48M
        if (digits_begin_it == range.end() ||
3344
4.48M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
898k
            digits_begin_it = base_prefix_begin_it;
3346
898k
        }
3347
4.48M
    }
3348
3349
5.03M
    if (sign == sign_type::default_sign) {
3350
4.66M
        sign = sign_type::plus_sign;
3351
4.66M
    }
3352
5.03M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
5.03M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
5.03M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
272k
        if (digits_begin_it == range.end() ||
3335
272k
            char_to_int(*digits_begin_it) >= 8) {
3336
159k
            digits_begin_it = base_prefix_begin_it;
3337
159k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
272k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
98.3k
            digits_begin_it = base_prefix_begin_it;
3346
98.3k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
822
{
3326
822
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
822
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
822
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
822
        parse_integer_base_prefix(
3331
822
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
822
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
822
    else {
3343
822
        if (digits_begin_it == range.end() ||
3344
822
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
822
            digits_begin_it = base_prefix_begin_it;
3346
822
        }
3347
822
    }
3348
3349
822
    if (sign == sign_type::default_sign) {
3350
822
        sign = sign_type::plus_sign;
3351
822
    }
3352
822
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
822
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
822
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
270k
        if (digits_begin_it == range.end() ||
3335
270k
            char_to_int(*digits_begin_it) >= 8) {
3336
157k
            digits_begin_it = base_prefix_begin_it;
3337
157k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
270k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
102k
            digits_begin_it = base_prefix_begin_it;
3346
102k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
351k
{
3326
351k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
351k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
351k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
351k
        parse_integer_base_prefix(
3331
351k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
351k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
351k
    else {
3343
351k
        if (digits_begin_it == range.end() ||
3344
351k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
346k
            digits_begin_it = base_prefix_begin_it;
3346
346k
        }
3347
351k
    }
3348
3349
351k
    if (sign == sign_type::default_sign) {
3350
349k
        sign = sign_type::plus_sign;
3351
349k
    }
3352
351k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
351k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
351k
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
390
{
3326
390
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
390
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
390
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
390
        parse_integer_base_prefix(
3331
390
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
390
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
390
    else {
3343
390
        if (digits_begin_it == range.end() ||
3344
390
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
390
            digits_begin_it = base_prefix_begin_it;
3346
390
        }
3347
390
    }
3348
3349
390
    if (sign == sign_type::default_sign) {
3350
390
        sign = sign_type::plus_sign;
3351
390
    }
3352
390
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
390
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
390
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
354k
{
3326
354k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
354k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
354k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
354k
        parse_integer_base_prefix(
3331
354k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
354k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
353k
    else {
3343
353k
        if (digits_begin_it == range.end() ||
3344
353k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
349k
            digits_begin_it = base_prefix_begin_it;
3346
349k
        }
3347
353k
    }
3348
3349
354k
    if (sign == sign_type::default_sign) {
3350
352k
        sign = sign_type::plus_sign;
3351
352k
    }
3352
354k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
354k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
354k
}
3355
3356
template <typename Range>
3357
auto parse_integer_digits_without_thsep(Range range, int base)
3358
    -> scan_expected<ranges::const_iterator_t<Range>>
3359
3.91M
{
3360
3.91M
    using char_type = detail::char_t<Range>;
3361
3362
3.91M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.96M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65k
            return unexpected_scan_error(
3365
1.65k
                scan_error::invalid_scanned_value,
3366
1.65k
                "Failed to parse integer: No digits found");
3367
1.65k
        }
3368
1.95M
        return range.end();
3369
1.96M
    }
3370
1.95M
    else {
3371
1.95M
        return read_while1_code_unit(range,
3372
6.81M
                                     [&](char_type ch) noexcept {
3373
6.81M
                                         return char_to_int(ch) < base;
3374
6.81M
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
Line
Count
Source
3372
6.49M
                                     [&](char_type ch) noexcept {
3373
6.49M
                                         return char_to_int(ch) < base;
3374
6.49M
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3372
802
                                     [&](char_type ch) noexcept {
3373
802
                                         return char_to_int(ch) < base;
3374
802
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
Line
Count
Source
3372
314k
                                     [&](char_type ch) noexcept {
3373
314k
                                         return char_to_int(ch) < base;
3374
314k
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3372
362
                                     [&](char_type ch) noexcept {
3373
362
                                         return char_to_int(ch) < base;
3374
362
                                     })
3375
1.95M
            .transform_error(map_parse_error_to_scan_error(
3376
1.95M
                scan_error::invalid_scanned_value,
3377
1.95M
                "Failed to parse integer: No digits found"));
3378
1.95M
    }
3379
3.91M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65M
            return unexpected_scan_error(
3365
1.65M
                scan_error::invalid_scanned_value,
3366
1.65M
                "Failed to parse integer: No digits found");
3367
1.65M
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
802
{
3360
802
    using char_type = detail::char_t<Range>;
3361
3362
802
    if constexpr (ranges::contiguous_range<Range>) {
3363
802
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
802
            return unexpected_scan_error(
3365
802
                scan_error::invalid_scanned_value,
3366
802
                "Failed to parse integer: No digits found");
3367
802
        }
3368
802
        return range.end();
3369
802
    }
3370
802
    else {
3371
802
        return read_while1_code_unit(range,
3372
802
                                     [&](char_type ch) noexcept {
3373
802
                                         return char_to_int(ch) < base;
3374
802
                                     })
3375
802
            .transform_error(map_parse_error_to_scan_error(
3376
802
                scan_error::invalid_scanned_value,
3377
802
                "Failed to parse integer: No digits found"));
3378
802
    }
3379
802
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.42k
            return unexpected_scan_error(
3365
1.42k
                scan_error::invalid_scanned_value,
3366
1.42k
                "Failed to parse integer: No digits found");
3367
1.42k
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
303k
{
3360
303k
    using char_type = detail::char_t<Range>;
3361
3362
303k
    if constexpr (ranges::contiguous_range<Range>) {
3363
303k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
303k
            return unexpected_scan_error(
3365
303k
                scan_error::invalid_scanned_value,
3366
303k
                "Failed to parse integer: No digits found");
3367
303k
        }
3368
303k
        return range.end();
3369
303k
    }
3370
303k
    else {
3371
303k
        return read_while1_code_unit(range,
3372
303k
                                     [&](char_type ch) noexcept {
3373
303k
                                         return char_to_int(ch) < base;
3374
303k
                                     })
3375
303k
            .transform_error(map_parse_error_to_scan_error(
3376
303k
                scan_error::invalid_scanned_value,
3377
303k
                "Failed to parse integer: No digits found"));
3378
303k
    }
3379
303k
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
362
{
3360
362
    using char_type = detail::char_t<Range>;
3361
3362
362
    if constexpr (ranges::contiguous_range<Range>) {
3363
362
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
362
            return unexpected_scan_error(
3365
362
                scan_error::invalid_scanned_value,
3366
362
                "Failed to parse integer: No digits found");
3367
362
        }
3368
362
        return range.end();
3369
362
    }
3370
362
    else {
3371
362
        return read_while1_code_unit(range,
3372
362
                                     [&](char_type ch) noexcept {
3373
362
                                         return char_to_int(ch) < base;
3374
362
                                     })
3375
362
            .transform_error(map_parse_error_to_scan_error(
3376
362
                scan_error::invalid_scanned_value,
3377
362
                "Failed to parse integer: No digits found"));
3378
362
    }
3379
362
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
306k
{
3360
306k
    using char_type = detail::char_t<Range>;
3361
3362
306k
    if constexpr (ranges::contiguous_range<Range>) {
3363
306k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
234
            return unexpected_scan_error(
3365
234
                scan_error::invalid_scanned_value,
3366
234
                "Failed to parse integer: No digits found");
3367
234
        }
3368
306k
        return range.end();
3369
306k
    }
3370
306k
    else {
3371
306k
        return read_while1_code_unit(range,
3372
306k
                                     [&](char_type ch) noexcept {
3373
306k
                                         return char_to_int(ch) < base;
3374
306k
                                     })
3375
306k
            .transform_error(map_parse_error_to_scan_error(
3376
306k
                scan_error::invalid_scanned_value,
3377
306k
                "Failed to parse integer: No digits found"));
3378
306k
    }
3379
306k
}
3380
3381
template <typename Range, typename CharT>
3382
auto parse_integer_digits_with_thsep(
3383
    Range range,
3384
    int base,
3385
    const localized_number_formatting_options<CharT>& locale_options)
3386
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3387
                                std::basic_string<CharT>,
3388
                                std::string>>
3389
733k
{
3390
733k
    std::basic_string<CharT> output;
3391
733k
    std::string thsep_indices;
3392
733k
    auto it = range.begin();
3393
733k
    bool digit_matched = false;
3394
194M
    for (; it != range.end(); ++it) {
3395
194M
        if (*it == locale_options.thousands_sep) {
3396
191M
            thsep_indices.push_back(
3397
191M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
191M
        }
3399
3.15M
        else if (char_to_int(*it) >= base) {
3400
723k
            break;
3401
723k
        }
3402
2.43M
        else {
3403
2.43M
            output.push_back(*it);
3404
2.43M
            digit_matched = true;
3405
2.43M
        }
3406
194M
    }
3407
733k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
63.5k
        return unexpected_scan_error(
3409
63.5k
            scan_error::invalid_scanned_value,
3410
63.5k
            "Failed to parse integer: No digits found");
3411
63.5k
    }
3412
669k
    return std::tuple{it, output, thsep_indices};
3413
733k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
320k
{
3390
320k
    std::basic_string<CharT> output;
3391
320k
    std::string thsep_indices;
3392
320k
    auto it = range.begin();
3393
320k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.55M
        if (*it == locale_options.thousands_sep) {
3396
67.8k
            thsep_indices.push_back(
3397
67.8k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.8k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
315k
            break;
3401
315k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.55M
    }
3407
320k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
8.86k
        return unexpected_scan_error(
3409
8.86k
            scan_error::invalid_scanned_value,
3410
8.86k
            "Failed to parse integer: No digits found");
3411
8.86k
    }
3412
311k
    return std::tuple{it, output, thsep_indices};
3413
320k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
20
{
3390
20
    std::basic_string<CharT> output;
3391
20
    std::string thsep_indices;
3392
20
    auto it = range.begin();
3393
20
    bool digit_matched = false;
3394
20
    for (; it != range.end(); ++it) {
3395
20
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
20
        else if (char_to_int(*it) >= base) {
3400
20
            break;
3401
20
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
20
    }
3407
20
    if (SCN_UNLIKELY(!digit_matched)) {
3408
20
        return unexpected_scan_error(
3409
20
            scan_error::invalid_scanned_value,
3410
20
            "Failed to parse integer: No digits found");
3411
20
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
20
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
319k
{
3390
319k
    std::basic_string<CharT> output;
3391
319k
    std::string thsep_indices;
3392
319k
    auto it = range.begin();
3393
319k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.54M
        if (*it == locale_options.thousands_sep) {
3396
67.4k
            thsep_indices.push_back(
3397
67.4k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.4k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
314k
            break;
3401
314k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.54M
    }
3407
319k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
9.25k
        return unexpected_scan_error(
3409
9.25k
            scan_error::invalid_scanned_value,
3410
9.25k
            "Failed to parse integer: No digits found");
3411
9.25k
    }
3412
309k
    return std::tuple{it, output, thsep_indices};
3413
319k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
95.6k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
49.3k
        else {
3403
49.3k
            output.push_back(*it);
3404
49.3k
            digit_matched = true;
3405
49.3k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
22.6k
        return unexpected_scan_error(
3409
22.6k
            scan_error::invalid_scanned_value,
3410
22.6k
            "Failed to parse integer: No digits found");
3411
22.6k
    }
3412
24.0k
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
28
{
3390
28
    std::basic_string<CharT> output;
3391
28
    std::string thsep_indices;
3392
28
    auto it = range.begin();
3393
28
    bool digit_matched = false;
3394
28
    for (; it != range.end(); ++it) {
3395
28
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
28
        else if (char_to_int(*it) >= base) {
3400
28
            break;
3401
28
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
28
    }
3407
28
    if (SCN_UNLIKELY(!digit_matched)) {
3408
28
        return unexpected_scan_error(
3409
28
            scan_error::invalid_scanned_value,
3410
28
            "Failed to parse integer: No digits found");
3411
28
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
28
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
95.6k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
49.3k
        else {
3403
49.3k
            output.push_back(*it);
3404
49.3k
            digit_matched = true;
3405
49.3k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
22.7k
        return unexpected_scan_error(
3409
22.7k
            scan_error::invalid_scanned_value,
3410
22.7k
            "Failed to parse integer: No digits found");
3411
22.7k
    }
3412
24.0k
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
3414
3415
template <typename CharT, typename T>
3416
auto parse_integer_value(std::basic_string_view<CharT> source,
3417
                         T& value,
3418
                         sign_type sign,
3419
                         int base)
3420
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3421
3422
template <typename T>
3423
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3424
3425
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3426
    extern template auto parse_integer_value(                               \
3427
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3428
        int base)                                                           \
3429
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3430
    extern template void parse_integer_value_exhaustive_valid(              \
3431
        std::string_view, IntT&);
3432
3433
#if !SCN_DISABLE_TYPE_SCHAR
3434
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3435
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3436
#endif
3437
#if !SCN_DISABLE_TYPE_SHORT
3438
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3439
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3440
#endif
3441
#if !SCN_DISABLE_TYPE_INT
3442
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3443
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3444
#endif
3445
#if !SCN_DISABLE_TYPE_LONG
3446
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3447
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3448
#endif
3449
#if !SCN_DISABLE_TYPE_LONG_LONG
3450
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3451
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3452
#endif
3453
#if !SCN_DISABLE_TYPE_UCHAR
3454
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3455
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3456
#endif
3457
#if !SCN_DISABLE_TYPE_USHORT
3458
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3459
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3460
#endif
3461
#if !SCN_DISABLE_TYPE_UINT
3462
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3463
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3464
#endif
3465
#if !SCN_DISABLE_TYPE_ULONG
3466
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3467
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3468
#endif
3469
#if !SCN_DISABLE_TYPE_ULONG_LONG
3470
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3471
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3472
#endif
3473
3474
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3475
3476
template <typename CharT>
3477
class reader_impl_for_int
3478
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3479
public:
3480
    constexpr reader_impl_for_int() = default;
3481
3482
    void check_specs_impl(const detail::format_specs& specs,
3483
                          reader_error_handler& eh)
3484
3.97M
    {
3485
3.97M
        detail::check_int_type_specs(specs, eh);
3486
3.97M
    }
scn::v3::impl::reader_impl_for_int<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
3.40M
    {
3485
3.40M
        detail::check_int_type_specs(specs, eh);
3486
3.40M
    }
scn::v3::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
571k
    {
3485
571k
        detail::check_int_type_specs(specs, eh);
3486
571k
    }
3487
3488
    template <typename Range, typename T>
3489
    auto read_default_with_base(Range range, T& value, int base)
3490
        -> scan_expected<ranges::const_iterator_t<Range>>
3491
1.10M
    {
3492
1.10M
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
1.10M
                                   .transform_error(make_eof_scan_error));
3494
3495
1.10M
        if constexpr (!std::is_signed_v<T>) {
3496
521k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
13.6k
                return unexpected_scan_error(
3498
13.6k
                    scan_error::invalid_scanned_value,
3499
13.6k
                    "Unexpected '-' sign when parsing an "
3500
13.6k
                    "unsigned value");
3501
13.6k
            }
3502
521k
        }
3503
3504
1.09M
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
2.10M
        SCN_TRY(after_digits_it,
3510
2.10M
                parse_integer_digits_without_thsep(
3511
2.10M
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
2.10M
                    prefix_result.parsed_base));
3513
3514
2.10M
        auto buf = make_contiguous_buffer(
3515
2.10M
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
2.10M
        SCN_TRY(result_it,
3517
907k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
907k
                                    prefix_result.parsed_base));
3519
3520
907k
        return ranges::next(prefix_result.iterator,
3521
907k
                            ranges::distance(buf.view().begin(), result_it));
3522
2.10M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
153k
        SCN_TRY(after_digits_it,
3510
153k
                parse_integer_digits_without_thsep(
3511
153k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
153k
                    prefix_result.parsed_base));
3513
3514
153k
        auto buf = make_contiguous_buffer(
3515
153k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
153k
        SCN_TRY(result_it,
3517
72.8k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.8k
                                    prefix_result.parsed_base));
3519
3520
72.8k
        return ranges::next(prefix_result.iterator,
3521
72.8k
                            ranges::distance(buf.view().begin(), result_it));
3522
153k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
88.4k
    {
3492
88.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
88.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
88.4k
        if constexpr (!std::is_signed_v<T>) {
3496
88.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
88.4k
                return unexpected_scan_error(
3498
88.4k
                    scan_error::invalid_scanned_value,
3499
88.4k
                    "Unexpected '-' sign when parsing an "
3500
88.4k
                    "unsigned value");
3501
88.4k
            }
3502
88.4k
        }
3503
3504
88.4k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
173k
        SCN_TRY(after_digits_it,
3510
173k
                parse_integer_digits_without_thsep(
3511
173k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
173k
                    prefix_result.parsed_base));
3513
3514
173k
        auto buf = make_contiguous_buffer(
3515
173k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
173k
        SCN_TRY(result_it,
3517
83.6k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
83.6k
                                    prefix_result.parsed_base));
3519
3520
83.6k
        return ranges::next(prefix_result.iterator,
3521
83.6k
                            ranges::distance(buf.view().begin(), result_it));
3522
173k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
89.9k
    {
3492
89.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
89.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
89.9k
        if constexpr (!std::is_signed_v<T>) {
3496
89.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
89.9k
                return unexpected_scan_error(
3498
89.9k
                    scan_error::invalid_scanned_value,
3499
89.9k
                    "Unexpected '-' sign when parsing an "
3500
89.9k
                    "unsigned value");
3501
89.9k
            }
3502
89.9k
        }
3503
3504
89.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
176k
        SCN_TRY(after_digits_it,
3510
176k
                parse_integer_digits_without_thsep(
3511
176k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
176k
                    prefix_result.parsed_base));
3513
3514
176k
        auto buf = make_contiguous_buffer(
3515
176k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
176k
        SCN_TRY(result_it,
3517
85.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.2k
                                    prefix_result.parsed_base));
3519
3520
85.2k
        return ranges::next(prefix_result.iterator,
3521
85.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
176k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
69.3k
    {
3492
69.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.3k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.3k
        if constexpr (!std::is_signed_v<T>) {
3496
69.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.13k
                return unexpected_scan_error(
3498
2.13k
                    scan_error::invalid_scanned_value,
3499
2.13k
                    "Unexpected '-' sign when parsing an "
3500
2.13k
                    "unsigned value");
3501
2.13k
            }
3502
69.3k
        }
3503
3504
67.1k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
132k
        SCN_TRY(after_digits_it,
3510
132k
                parse_integer_digits_without_thsep(
3511
132k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
132k
                    prefix_result.parsed_base));
3513
3514
132k
        auto buf = make_contiguous_buffer(
3515
132k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
132k
        SCN_TRY(result_it,
3517
64.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.0k
                                    prefix_result.parsed_base));
3519
3520
64.0k
        return ranges::next(prefix_result.iterator,
3521
64.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
132k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
77.1k
    {
3492
77.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.1k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.1k
        if constexpr (!std::is_signed_v<T>) {
3496
77.1k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.19k
                return unexpected_scan_error(
3498
2.19k
                    scan_error::invalid_scanned_value,
3499
2.19k
                    "Unexpected '-' sign when parsing an "
3500
2.19k
                    "unsigned value");
3501
2.19k
            }
3502
77.1k
        }
3503
3504
74.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
147k
        SCN_TRY(after_digits_it,
3510
147k
                parse_integer_digits_without_thsep(
3511
147k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
147k
                    prefix_result.parsed_base));
3513
3514
147k
        auto buf = make_contiguous_buffer(
3515
147k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
147k
        SCN_TRY(result_it,
3517
72.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.0k
                                    prefix_result.parsed_base));
3519
3520
72.0k
        return ranges::next(prefix_result.iterator,
3521
72.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
147k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.24k
                return unexpected_scan_error(
3498
2.24k
                    scan_error::invalid_scanned_value,
3499
2.24k
                    "Unexpected '-' sign when parsing an "
3500
2.24k
                    "unsigned value");
3501
2.24k
            }
3502
78.0k
        }
3503
3504
75.8k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
149k
        SCN_TRY(after_digits_it,
3510
149k
                parse_integer_digits_without_thsep(
3511
149k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
149k
                    prefix_result.parsed_base));
3513
3514
149k
        auto buf = make_contiguous_buffer(
3515
149k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
149k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
149k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.4k
        SCN_TRY(after_digits_it,
3510
23.4k
                parse_integer_digits_without_thsep(
3511
23.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.4k
                    prefix_result.parsed_base));
3513
3514
23.4k
        auto buf = make_contiguous_buffer(
3515
23.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.4k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
23.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
12.2k
    {
3492
12.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
12.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
12.2k
        if constexpr (!std::is_signed_v<T>) {
3496
12.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
12.2k
                return unexpected_scan_error(
3498
12.2k
                    scan_error::invalid_scanned_value,
3499
12.2k
                    "Unexpected '-' sign when parsing an "
3500
12.2k
                    "unsigned value");
3501
12.2k
            }
3502
12.2k
        }
3503
3504
12.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
24.4k
        SCN_TRY(after_digits_it,
3510
24.4k
                parse_integer_digits_without_thsep(
3511
24.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
24.4k
                    prefix_result.parsed_base));
3513
3514
24.4k
        auto buf = make_contiguous_buffer(
3515
24.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
24.4k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
24.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.5k
        SCN_TRY(after_digits_it,
3510
23.5k
                parse_integer_digits_without_thsep(
3511
23.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.5k
                    prefix_result.parsed_base));
3513
3514
23.5k
        auto buf = make_contiguous_buffer(
3515
23.5k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.5k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
23.5k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.2k
        SCN_TRY(after_digits_it,
3510
23.2k
                parse_integer_digits_without_thsep(
3511
23.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.2k
                    prefix_result.parsed_base));
3513
3514
23.2k
        auto buf = make_contiguous_buffer(
3515
23.2k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.2k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
23.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
12.2k
    {
3492
12.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
12.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
12.2k
        if constexpr (!std::is_signed_v<T>) {
3496
12.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
12.2k
        }
3503
3504
12.1k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
24.2k
        SCN_TRY(after_digits_it,
3510
24.2k
                parse_integer_digits_without_thsep(
3511
24.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
24.2k
                    prefix_result.parsed_base));
3513
3514
24.2k
        auto buf = make_contiguous_buffer(
3515
24.2k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
24.2k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
24.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.3k
        SCN_TRY(after_digits_it,
3510
23.3k
                parse_integer_digits_without_thsep(
3511
23.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.3k
                    prefix_result.parsed_base));
3513
3514
23.3k
        auto buf = make_contiguous_buffer(
3515
23.3k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.3k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
23.3k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
12.0k
        SCN_TRY(after_digits_it,
3510
12.0k
                parse_integer_digits_without_thsep(
3511
12.0k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
12.0k
                    prefix_result.parsed_base));
3513
3514
12.0k
        auto buf = make_contiguous_buffer(
3515
12.0k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
12.0k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
12.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.7k
        SCN_TRY(after_digits_it,
3510
11.7k
                parse_integer_digits_without_thsep(
3511
11.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.7k
                    prefix_result.parsed_base));
3513
3514
11.7k
        auto buf = make_contiguous_buffer(
3515
11.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.7k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
156k
        SCN_TRY(after_digits_it,
3510
156k
                parse_integer_digits_without_thsep(
3511
156k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
156k
                    prefix_result.parsed_base));
3513
3514
156k
        auto buf = make_contiguous_buffer(
3515
156k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
156k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
156k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
90.7k
    {
3492
90.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
90.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
90.7k
        if constexpr (!std::is_signed_v<T>) {
3496
90.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
90.7k
                return unexpected_scan_error(
3498
90.7k
                    scan_error::invalid_scanned_value,
3499
90.7k
                    "Unexpected '-' sign when parsing an "
3500
90.7k
                    "unsigned value");
3501
90.7k
            }
3502
90.7k
        }
3503
3504
90.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
181k
        SCN_TRY(after_digits_it,
3510
181k
                parse_integer_digits_without_thsep(
3511
181k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
181k
                    prefix_result.parsed_base));
3513
3514
181k
        auto buf = make_contiguous_buffer(
3515
181k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
181k
        SCN_TRY(result_it,
3517
85.3k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.3k
                                    prefix_result.parsed_base));
3519
3520
85.3k
        return ranges::next(prefix_result.iterator,
3521
85.3k
                            ranges::distance(buf.view().begin(), result_it));
3522
181k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
91.6k
    {
3492
91.6k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
91.6k
                                   .transform_error(make_eof_scan_error));
3494
3495
91.6k
        if constexpr (!std::is_signed_v<T>) {
3496
91.6k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
91.6k
                return unexpected_scan_error(
3498
91.6k
                    scan_error::invalid_scanned_value,
3499
91.6k
                    "Unexpected '-' sign when parsing an "
3500
91.6k
                    "unsigned value");
3501
91.6k
            }
3502
91.6k
        }
3503
3504
91.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
183k
        SCN_TRY(after_digits_it,
3510
183k
                parse_integer_digits_without_thsep(
3511
183k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
183k
                    prefix_result.parsed_base));
3513
3514
183k
        auto buf = make_contiguous_buffer(
3515
183k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
183k
        SCN_TRY(result_it,
3517
87.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
87.0k
                                    prefix_result.parsed_base));
3519
3520
87.0k
        return ranges::next(prefix_result.iterator,
3521
87.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
183k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
69.4k
    {
3492
69.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.4k
        if constexpr (!std::is_signed_v<T>) {
3496
69.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.15k
                return unexpected_scan_error(
3498
2.15k
                    scan_error::invalid_scanned_value,
3499
2.15k
                    "Unexpected '-' sign when parsing an "
3500
2.15k
                    "unsigned value");
3501
2.15k
            }
3502
69.4k
        }
3503
3504
67.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
134k
        SCN_TRY(after_digits_it,
3510
134k
                parse_integer_digits_without_thsep(
3511
134k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
134k
                    prefix_result.parsed_base));
3513
3514
134k
        auto buf = make_contiguous_buffer(
3515
134k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
134k
        SCN_TRY(result_it,
3517
64.1k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.1k
                                    prefix_result.parsed_base));
3519
3520
64.1k
        return ranges::next(prefix_result.iterator,
3521
64.1k
                            ranges::distance(buf.view().begin(), result_it));
3522
134k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
77.9k
    {
3492
77.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.9k
        if constexpr (!std::is_signed_v<T>) {
3496
77.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.23k
                return unexpected_scan_error(
3498
2.23k
                    scan_error::invalid_scanned_value,
3499
2.23k
                    "Unexpected '-' sign when parsing an "
3500
2.23k
                    "unsigned value");
3501
2.23k
            }
3502
77.9k
        }
3503
3504
75.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
72.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.2k
                                    prefix_result.parsed_base));
3519
3520
72.2k
        return ranges::next(prefix_result.iterator,
3521
72.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.2k
    {
3492
78.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.2k
        if constexpr (!std::is_signed_v<T>) {
3496
78.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.30k
                return unexpected_scan_error(
3498
2.30k
                    scan_error::invalid_scanned_value,
3499
2.30k
                    "Unexpected '-' sign when parsing an "
3500
2.30k
                    "unsigned value");
3501
2.30k
            }
3502
78.2k
        }
3503
3504
75.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
73.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
73.2k
                                    prefix_result.parsed_base));
3519
3520
73.2k
        return ranges::next(prefix_result.iterator,
3521
73.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
3523
3524
    template <typename Range, typename T>
3525
    auto read_default(Range range, T& value, detail::locale_ref loc)
3526
        -> scan_expected<ranges::const_iterator_t<Range>>
3527
1.10M
    {
3528
1.10M
        SCN_UNUSED(loc);
3529
1.10M
        return read_default_with_base(range, value, 10);
3530
1.10M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
90.7k
    {
3528
90.7k
        SCN_UNUSED(loc);
3529
90.7k
        return read_default_with_base(range, value, 10);
3530
90.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
91.6k
    {
3528
91.6k
        SCN_UNUSED(loc);
3529
91.6k
        return read_default_with_base(range, value, 10);
3530
91.6k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
69.4k
    {
3528
69.4k
        SCN_UNUSED(loc);
3529
69.4k
        return read_default_with_base(range, value, 10);
3530
69.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
77.9k
    {
3528
77.9k
        SCN_UNUSED(loc);
3529
77.9k
        return read_default_with_base(range, value, 10);
3530
77.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.2k
    {
3528
78.2k
        SCN_UNUSED(loc);
3529
78.2k
        return read_default_with_base(range, value, 10);
3530
78.2k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
88.4k
    {
3528
88.4k
        SCN_UNUSED(loc);
3529
88.4k
        return read_default_with_base(range, value, 10);
3530
88.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
89.9k
    {
3528
89.9k
        SCN_UNUSED(loc);
3529
89.9k
        return read_default_with_base(range, value, 10);
3530
89.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
69.3k
    {
3528
69.3k
        SCN_UNUSED(loc);
3529
69.3k
        return read_default_with_base(range, value, 10);
3530
69.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
77.1k
    {
3528
77.1k
        SCN_UNUSED(loc);
3529
77.1k
        return read_default_with_base(range, value, 10);
3530
77.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
12.2k
    {
3528
12.2k
        SCN_UNUSED(loc);
3529
12.2k
        return read_default_with_base(range, value, 10);
3530
12.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
12.2k
    {
3528
12.2k
        SCN_UNUSED(loc);
3529
12.2k
        return read_default_with_base(range, value, 10);
3530
12.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
3531
3532
    template <typename Range, typename T>
3533
    auto read_specs(Range range,
3534
                    const detail::format_specs& specs,
3535
                    T& value,
3536
                    detail::locale_ref loc)
3537
        -> scan_expected<ranges::const_iterator_t<Range>>
3538
3.92M
    {
3539
3.92M
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
3.92M
                                   .transform_error(make_eof_scan_error));
3541
3542
3.92M
        if (prefix_result.sign == sign_type::minus_sign) {
3543
204k
            if constexpr (!std::is_signed_v<T>) {
3544
152k
                return unexpected_scan_error(
3545
152k
                    scan_error::invalid_scanned_value,
3546
152k
                    "Unexpected '-' sign when parsing an "
3547
152k
                    "unsigned value");
3548
152k
            }
3549
152k
            else {
3550
152k
                if (specs.type ==
3551
152k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
152k
            }
3557
204k
        }
3558
3559
3.87M
        if (prefix_result.is_zero) {
3560
317k
            value = T{0};
3561
317k
            return std::next(prefix_result.iterator);
3562
317k
        }
3563
3564
3.55M
        if (SCN_LIKELY(!specs.localized)) {
3565
2.82M
            SCN_TRY(after_digits_it,
3566
2.52M
                    parse_integer_digits_without_thsep(
3567
2.52M
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
2.52M
                        prefix_result.parsed_base));
3569
3570
2.52M
            auto buf = make_contiguous_buffer(
3571
2.52M
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
2.52M
            SCN_TRY(result_it,
3573
2.19M
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
2.19M
                                        prefix_result.parsed_base));
3575
3576
2.19M
            return ranges::next(
3577
2.19M
                prefix_result.iterator,
3578
2.19M
                ranges::distance(buf.view().begin(), result_it));
3579
2.52M
        }
3580
3581
733k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
733k
            localized_number_formatting_options<CharT>{loc};
3586
733k
#endif
3587
3588
733k
        SCN_TRY(parse_digits_result,
3589
669k
                parse_integer_digits_with_thsep(
3590
669k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
669k
                    prefix_result.parsed_base, locale_options));
3592
669k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
669k
            parse_digits_result;
3594
3595
669k
        if (!thsep_indices.empty()) {
3596
55.8k
            if (auto e = check_thsep_grouping(
3597
55.8k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
55.8k
                    thsep_indices, locale_options.grouping);
3599
55.8k
                SCN_UNLIKELY(!e)) {
3600
51.1k
                return unexpected(e);
3601
51.1k
            }
3602
55.8k
        }
3603
3604
618k
        auto nothsep_source_view =
3605
618k
            std::basic_string_view<CharT>{nothsep_source};
3606
618k
        SCN_TRY(
3607
610k
            nothsep_source_it,
3608
610k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
610k
                                prefix_result.parsed_base));
3610
3611
610k
        return ranges::next(
3612
610k
            prefix_result.iterator,
3613
610k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
610k
                ranges::ssize(thsep_indices));
3615
618k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
245k
    {
3539
245k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
245k
                                   .transform_error(make_eof_scan_error));
3541
3542
245k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
245k
        if (prefix_result.is_zero) {
3560
25.5k
            value = T{0};
3561
25.5k
            return std::next(prefix_result.iterator);
3562
25.5k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
156k
                    parse_integer_digits_without_thsep(
3567
156k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
156k
                        prefix_result.parsed_base));
3569
3570
156k
            auto buf = make_contiguous_buffer(
3571
156k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
156k
            SCN_TRY(result_it,
3573
150k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
150k
                                        prefix_result.parsed_base));
3575
3576
150k
            return ranges::next(
3577
150k
                prefix_result.iterator,
3578
150k
                ranges::distance(buf.view().begin(), result_it));
3579
156k
        }
3580
3581
52.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.3k
            localized_number_formatting_options<CharT>{loc};
3586
52.3k
#endif
3587
3588
52.3k
        SCN_TRY(parse_digits_result,
3589
50.8k
                parse_integer_digits_with_thsep(
3590
50.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.8k
                    prefix_result.parsed_base, locale_options));
3592
50.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.8k
            parse_digits_result;
3594
3595
50.8k
        if (!thsep_indices.empty()) {
3596
790
            if (auto e = check_thsep_grouping(
3597
790
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
790
                    thsep_indices, locale_options.grouping);
3599
790
                SCN_UNLIKELY(!e)) {
3600
396
                return unexpected(e);
3601
396
            }
3602
790
        }
3603
3604
50.4k
        auto nothsep_source_view =
3605
50.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.4k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
50.4k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
32
    {
3539
32
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
32
                                   .transform_error(make_eof_scan_error));
3541
3542
32
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
32
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
32
        if (SCN_LIKELY(!specs.localized)) {
3565
32
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
244k
    {
3539
244k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
244k
                                   .transform_error(make_eof_scan_error));
3541
3542
244k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
244k
        if (prefix_result.is_zero) {
3560
25.3k
            value = T{0};
3561
25.3k
            return std::next(prefix_result.iterator);
3562
25.3k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
167k
                    parse_integer_digits_without_thsep(
3567
167k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
167k
                        prefix_result.parsed_base));
3569
3570
167k
            auto buf = make_contiguous_buffer(
3571
167k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
167k
            SCN_TRY(result_it,
3573
149k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
149k
                                        prefix_result.parsed_base));
3575
3576
149k
            return ranges::next(
3577
149k
                prefix_result.iterator,
3578
149k
                ranges::distance(buf.view().begin(), result_it));
3579
167k
        }
3580
3581
52.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.1k
            localized_number_formatting_options<CharT>{loc};
3586
52.1k
#endif
3587
3588
52.1k
        SCN_TRY(parse_digits_result,
3589
50.6k
                parse_integer_digits_with_thsep(
3590
50.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.6k
                    prefix_result.parsed_base, locale_options));
3592
50.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.6k
            parse_digits_result;
3594
3595
50.6k
        if (!thsep_indices.empty()) {
3596
788
            if (auto e = check_thsep_grouping(
3597
788
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
788
                    thsep_indices, locale_options.grouping);
3599
788
                SCN_UNLIKELY(!e)) {
3600
394
                return unexpected(e);
3601
394
            }
3602
788
        }
3603
3604
50.2k
        auto nothsep_source_view =
3605
50.2k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.2k
        SCN_TRY(
3607
48.7k
            nothsep_source_it,
3608
48.7k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.7k
                                prefix_result.parsed_base));
3610
3611
48.7k
        return ranges::next(
3612
48.7k
            prefix_result.iterator,
3613
48.7k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.7k
                ranges::ssize(thsep_indices));
3615
50.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
318k
    {
3539
318k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
318k
                                   .transform_error(make_eof_scan_error));
3541
3542
318k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
318k
        if (prefix_result.is_zero) {
3560
28.2k
            value = T{0};
3561
28.2k
            return std::next(prefix_result.iterator);
3562
28.2k
        }
3563
3564
290k
        if (SCN_LIKELY(!specs.localized)) {
3565
230k
            SCN_TRY(after_digits_it,
3566
217k
                    parse_integer_digits_without_thsep(
3567
217k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
217k
                        prefix_result.parsed_base));
3569
3570
217k
            auto buf = make_contiguous_buffer(
3571
217k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
217k
            SCN_TRY(result_it,
3573
213k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
213k
                                        prefix_result.parsed_base));
3575
3576
213k
            return ranges::next(
3577
213k
                prefix_result.iterator,
3578
213k
                ranges::distance(buf.view().begin(), result_it));
3579
217k
        }
3580
3581
60.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.2k
            localized_number_formatting_options<CharT>{loc};
3586
60.2k
#endif
3587
3588
60.2k
        SCN_TRY(parse_digits_result,
3589
58.3k
                parse_integer_digits_with_thsep(
3590
58.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.3k
                    prefix_result.parsed_base, locale_options));
3592
58.3k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.3k
            parse_digits_result;
3594
3595
58.3k
        if (!thsep_indices.empty()) {
3596
854
            if (auto e = check_thsep_grouping(
3597
854
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
854
                    thsep_indices, locale_options.grouping);
3599
854
                SCN_UNLIKELY(!e)) {
3600
460
                return unexpected(e);
3601
460
            }
3602
854
        }
3603
3604
57.9k
        auto nothsep_source_view =
3605
57.9k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.9k
        SCN_TRY(
3607
57.1k
            nothsep_source_it,
3608
57.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.1k
                                prefix_result.parsed_base));
3610
3611
57.1k
        return ranges::next(
3612
57.1k
            prefix_result.iterator,
3613
57.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.1k
                ranges::ssize(thsep_indices));
3615
57.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
274
    {
3539
274
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274
                                   .transform_error(make_eof_scan_error));
3541
3542
274
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
274
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
274
        if (SCN_LIKELY(!specs.localized)) {
3565
264
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
10
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
10
            localized_number_formatting_options<CharT>{loc};
3586
10
#endif
3587
3588
10
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
317k
    {
3539
317k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
317k
                                   .transform_error(make_eof_scan_error));
3541
3542
317k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
317k
        if (prefix_result.is_zero) {
3560
27.8k
            value = T{0};
3561
27.8k
            return std::next(prefix_result.iterator);
3562
27.8k
        }
3563
3564
289k
        if (SCN_LIKELY(!specs.localized)) {
3565
229k
            SCN_TRY(after_digits_it,
3566
228k
                    parse_integer_digits_without_thsep(
3567
228k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
228k
                        prefix_result.parsed_base));
3569
3570
228k
            auto buf = make_contiguous_buffer(
3571
228k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
228k
            SCN_TRY(result_it,
3573
212k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
212k
                                        prefix_result.parsed_base));
3575
3576
212k
            return ranges::next(
3577
212k
                prefix_result.iterator,
3578
212k
                ranges::distance(buf.view().begin(), result_it));
3579
228k
        }
3580
3581
60.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.0k
            localized_number_formatting_options<CharT>{loc};
3586
60.0k
#endif
3587
3588
60.0k
        SCN_TRY(parse_digits_result,
3589
58.1k
                parse_integer_digits_with_thsep(
3590
58.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.1k
                    prefix_result.parsed_base, locale_options));
3592
58.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.1k
            parse_digits_result;
3594
3595
58.1k
        if (!thsep_indices.empty()) {
3596
850
            if (auto e = check_thsep_grouping(
3597
850
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
850
                    thsep_indices, locale_options.grouping);
3599
850
                SCN_UNLIKELY(!e)) {
3600
456
                return unexpected(e);
3601
456
            }
3602
850
        }
3603
3604
57.6k
        auto nothsep_source_view =
3605
57.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.6k
        SCN_TRY(
3607
56.9k
            nothsep_source_it,
3608
56.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56.9k
                                prefix_result.parsed_base));
3610
3611
56.9k
        return ranges::next(
3612
56.9k
            prefix_result.iterator,
3613
56.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56.9k
                ranges::ssize(thsep_indices));
3615
57.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
324k
    {
3539
324k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
324k
                                   .transform_error(make_eof_scan_error));
3541
3542
324k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
324k
        if (prefix_result.is_zero) {
3560
28.5k
            value = T{0};
3561
28.5k
            return std::next(prefix_result.iterator);
3562
28.5k
        }
3563
3564
295k
        if (SCN_LIKELY(!specs.localized)) {
3565
234k
            SCN_TRY(after_digits_it,
3566
220k
                    parse_integer_digits_without_thsep(
3567
220k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
220k
                        prefix_result.parsed_base));
3569
3570
220k
            auto buf = make_contiguous_buffer(
3571
220k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
220k
            SCN_TRY(result_it,
3573
218k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
218k
                                        prefix_result.parsed_base));
3575
3576
218k
            return ranges::next(
3577
218k
                prefix_result.iterator,
3578
218k
                ranges::distance(buf.view().begin(), result_it));
3579
220k
        }
3580
3581
61.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.2k
            localized_number_formatting_options<CharT>{loc};
3586
61.2k
#endif
3587
3588
61.2k
        SCN_TRY(parse_digits_result,
3589
59.2k
                parse_integer_digits_with_thsep(
3590
59.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
59.2k
                    prefix_result.parsed_base, locale_options));
3592
59.2k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
59.2k
            parse_digits_result;
3594
3595
59.2k
        if (!thsep_indices.empty()) {
3596
914
            if (auto e = check_thsep_grouping(
3597
914
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
914
                    thsep_indices, locale_options.grouping);
3599
914
                SCN_UNLIKELY(!e)) {
3600
518
                return unexpected(e);
3601
518
            }
3602
914
        }
3603
3604
58.7k
        auto nothsep_source_view =
3605
58.7k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.7k
        SCN_TRY(
3607
58.2k
            nothsep_source_it,
3608
58.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
58.2k
                                prefix_result.parsed_base));
3610
3611
58.2k
        return ranges::next(
3612
58.2k
            prefix_result.iterator,
3613
58.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
58.2k
                ranges::ssize(thsep_indices));
3615
58.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
322k
    {
3539
322k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
322k
                                   .transform_error(make_eof_scan_error));
3541
3542
322k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
322k
        if (prefix_result.is_zero) {
3560
28.1k
            value = T{0};
3561
28.1k
            return std::next(prefix_result.iterator);
3562
28.1k
        }
3563
3564
294k
        if (SCN_LIKELY(!specs.localized)) {
3565
233k
            SCN_TRY(after_digits_it,
3566
233k
                    parse_integer_digits_without_thsep(
3567
233k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
233k
                        prefix_result.parsed_base));
3569
3570
233k
            auto buf = make_contiguous_buffer(
3571
233k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
233k
            SCN_TRY(result_it,
3573
217k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
217k
                                        prefix_result.parsed_base));
3575
3576
217k
            return ranges::next(
3577
217k
                prefix_result.iterator,
3578
217k
                ranges::distance(buf.view().begin(), result_it));
3579
233k
        }
3580
3581
61.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.0k
            localized_number_formatting_options<CharT>{loc};
3586
61.0k
#endif
3587
3588
61.0k
        SCN_TRY(parse_digits_result,
3589
58.9k
                parse_integer_digits_with_thsep(
3590
58.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.9k
                    prefix_result.parsed_base, locale_options));
3592
58.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.9k
            parse_digits_result;
3594
3595
58.9k
        if (!thsep_indices.empty()) {
3596
910
            if (auto e = check_thsep_grouping(
3597
910
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
910
                    thsep_indices, locale_options.grouping);
3599
910
                SCN_UNLIKELY(!e)) {
3600
514
                return unexpected(e);
3601
514
            }
3602
910
        }
3603
3604
58.4k
        auto nothsep_source_view =
3605
58.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.4k
        SCN_TRY(
3607
57.9k
            nothsep_source_it,
3608
57.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.9k
                                prefix_result.parsed_base));
3610
3611
57.9k
        return ranges::next(
3612
57.9k
            prefix_result.iterator,
3613
57.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.9k
                ranges::ssize(thsep_indices));
3615
58.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
241k
    {
3539
241k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
241k
                                   .transform_error(make_eof_scan_error));
3541
3542
241k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.01k
            if constexpr (!std::is_signed_v<T>) {
3544
8.01k
                return unexpected_scan_error(
3545
8.01k
                    scan_error::invalid_scanned_value,
3546
8.01k
                    "Unexpected '-' sign when parsing an "
3547
8.01k
                    "unsigned value");
3548
8.01k
            }
3549
8.01k
            else {
3550
8.01k
                if (specs.type ==
3551
8.01k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.01k
                    return unexpected_scan_error(
3553
8.01k
                        scan_error::invalid_scanned_value,
3554
8.01k
                        "'u'-option disallows negative values");
3555
8.01k
                }
3556
8.01k
            }
3557
8.01k
        }
3558
3559
233k
        if (prefix_result.is_zero) {
3560
24.3k
            value = T{0};
3561
24.3k
            return std::next(prefix_result.iterator);
3562
24.3k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
155k
                    parse_integer_digits_without_thsep(
3567
155k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
155k
                        prefix_result.parsed_base));
3569
3570
155k
            auto buf = make_contiguous_buffer(
3571
155k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
155k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
155k
        }
3580
3581
45.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
45.1k
            localized_number_formatting_options<CharT>{loc};
3586
45.1k
#endif
3587
3588
45.1k
        SCN_TRY(parse_digits_result,
3589
44.1k
                parse_integer_digits_with_thsep(
3590
44.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
44.1k
                    prefix_result.parsed_base, locale_options));
3592
44.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
44.1k
            parse_digits_result;
3594
3595
44.1k
        if (!thsep_indices.empty()) {
3596
596
            if (auto e = check_thsep_grouping(
3597
596
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
596
                    thsep_indices, locale_options.grouping);
3599
596
                SCN_UNLIKELY(!e)) {
3600
220
                return unexpected(e);
3601
220
            }
3602
596
        }
3603
3604
43.8k
        auto nothsep_source_view =
3605
43.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.8k
        SCN_TRY(
3607
43.1k
            nothsep_source_it,
3608
43.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
43.1k
                                prefix_result.parsed_base));
3610
3611
43.1k
        return ranges::next(
3612
43.1k
            prefix_result.iterator,
3613
43.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
43.1k
                ranges::ssize(thsep_indices));
3615
43.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
240k
    {
3539
240k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
240k
                                   .transform_error(make_eof_scan_error));
3541
3542
240k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.00k
            if constexpr (!std::is_signed_v<T>) {
3544
8.00k
                return unexpected_scan_error(
3545
8.00k
                    scan_error::invalid_scanned_value,
3546
8.00k
                    "Unexpected '-' sign when parsing an "
3547
8.00k
                    "unsigned value");
3548
8.00k
            }
3549
8.00k
            else {
3550
8.00k
                if (specs.type ==
3551
8.00k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.00k
                    return unexpected_scan_error(
3553
8.00k
                        scan_error::invalid_scanned_value,
3554
8.00k
                        "'u'-option disallows negative values");
3555
8.00k
                }
3556
8.00k
            }
3557
8.00k
        }
3558
3559
232k
        if (prefix_result.is_zero) {
3560
24.0k
            value = T{0};
3561
24.0k
            return std::next(prefix_result.iterator);
3562
24.0k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
163k
                    parse_integer_digits_without_thsep(
3567
163k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
163k
                        prefix_result.parsed_base));
3569
3570
163k
            auto buf = make_contiguous_buffer(
3571
163k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
163k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
163k
        }
3580
3581
44.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
44.9k
            localized_number_formatting_options<CharT>{loc};
3586
44.9k
#endif
3587
3588
44.9k
        SCN_TRY(parse_digits_result,
3589
43.9k
                parse_integer_digits_with_thsep(
3590
43.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
43.9k
                    prefix_result.parsed_base, locale_options));
3592
43.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
43.9k
            parse_digits_result;
3594
3595
43.9k
        if (!thsep_indices.empty()) {
3596
594
            if (auto e = check_thsep_grouping(
3597
594
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
594
                    thsep_indices, locale_options.grouping);
3599
594
                SCN_UNLIKELY(!e)) {
3600
218
                return unexpected(e);
3601
218
            }
3602
594
        }
3603
3604
43.6k
        auto nothsep_source_view =
3605
43.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.6k
        SCN_TRY(
3607
42.9k
            nothsep_source_it,
3608
42.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
42.9k
                                prefix_result.parsed_base));
3610
3611
42.9k
        return ranges::next(
3612
42.9k
            prefix_result.iterator,
3613
42.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
42.9k
                ranges::ssize(thsep_indices));
3615
43.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
274k
    {
3539
274k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274k
                                   .transform_error(make_eof_scan_error));
3541
3542
274k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.27k
            if constexpr (!std::is_signed_v<T>) {
3544
8.27k
                return unexpected_scan_error(
3545
8.27k
                    scan_error::invalid_scanned_value,
3546
8.27k
                    "Unexpected '-' sign when parsing an "
3547
8.27k
                    "unsigned value");
3548
8.27k
            }
3549
8.27k
            else {
3550
8.27k
                if (specs.type ==
3551
8.27k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.27k
                    return unexpected_scan_error(
3553
8.27k
                        scan_error::invalid_scanned_value,
3554
8.27k
                        "'u'-option disallows negative values");
3555
8.27k
                }
3556
8.27k
            }
3557
8.27k
        }
3558
3559
266k
        if (prefix_result.is_zero) {
3560
26.2k
            value = T{0};
3561
26.2k
            return std::next(prefix_result.iterator);
3562
26.2k
        }
3563
3564
240k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
180k
                    parse_integer_digits_without_thsep(
3567
180k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
180k
                        prefix_result.parsed_base));
3569
3570
180k
            auto buf = make_contiguous_buffer(
3571
180k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
180k
            SCN_TRY(result_it,
3573
179k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
179k
                                        prefix_result.parsed_base));
3575
3576
179k
            return ranges::next(
3577
179k
                prefix_result.iterator,
3578
179k
                ranges::distance(buf.view().begin(), result_it));
3579
180k
        }
3580
3581
50.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.3k
            localized_number_formatting_options<CharT>{loc};
3586
50.3k
#endif
3587
3588
50.3k
        SCN_TRY(parse_digits_result,
3589
49.1k
                parse_integer_digits_with_thsep(
3590
49.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.1k
                    prefix_result.parsed_base, locale_options));
3592
49.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.1k
            parse_digits_result;
3594
3595
49.1k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
48.8k
        auto nothsep_source_view =
3605
48.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.8k
        SCN_TRY(
3607
48.4k
            nothsep_source_it,
3608
48.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.4k
                                prefix_result.parsed_base));
3610
3611
48.4k
        return ranges::next(
3612
48.4k
            prefix_result.iterator,
3613
48.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.4k
                ranges::ssize(thsep_indices));
3615
48.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
274
    {
3539
274
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274
                                   .transform_error(make_eof_scan_error));
3541
3542
274
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
274
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
274
        if (SCN_LIKELY(!specs.localized)) {
3565
264
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
10
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
10
            localized_number_formatting_options<CharT>{loc};
3586
10
#endif
3587
3588
10
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
273k
    {
3539
273k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
273k
                                   .transform_error(make_eof_scan_error));
3541
3542
273k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.26k
            if constexpr (!std::is_signed_v<T>) {
3544
8.26k
                return unexpected_scan_error(
3545
8.26k
                    scan_error::invalid_scanned_value,
3546
8.26k
                    "Unexpected '-' sign when parsing an "
3547
8.26k
                    "unsigned value");
3548
8.26k
            }
3549
8.26k
            else {
3550
8.26k
                if (specs.type ==
3551
8.26k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.26k
                    return unexpected_scan_error(
3553
8.26k
                        scan_error::invalid_scanned_value,
3554
8.26k
                        "'u'-option disallows negative values");
3555
8.26k
                }
3556
8.26k
            }
3557
8.26k
        }
3558
3559
265k
        if (prefix_result.is_zero) {
3560
25.9k
            value = T{0};
3561
25.9k
            return std::next(prefix_result.iterator);
3562
25.9k
        }
3563
3564
239k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
189k
                    parse_integer_digits_without_thsep(
3567
189k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
189k
                        prefix_result.parsed_base));
3569
3570
189k
            auto buf = make_contiguous_buffer(
3571
189k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
189k
            SCN_TRY(result_it,
3573
178k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
178k
                                        prefix_result.parsed_base));
3575
3576
178k
            return ranges::next(
3577
178k
                prefix_result.iterator,
3578
178k
                ranges::distance(buf.view().begin(), result_it));
3579
189k
        }
3580
3581
50.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.1k
            localized_number_formatting_options<CharT>{loc};
3586
50.1k
#endif
3587
3588
50.1k
        SCN_TRY(parse_digits_result,
3589
48.8k
                parse_integer_digits_with_thsep(
3590
48.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
48.8k
                    prefix_result.parsed_base, locale_options));
3592
48.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
48.8k
            parse_digits_result;
3594
3595
48.8k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
48.6k
        auto nothsep_source_view =
3605
48.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.6k
        SCN_TRY(
3607
48.2k
            nothsep_source_it,
3608
48.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.2k
                                prefix_result.parsed_base));
3610
3611
48.2k
        return ranges::next(
3612
48.2k
            prefix_result.iterator,
3613
48.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.2k
                ranges::ssize(thsep_indices));
3615
48.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
242
    {
3539
242
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
242
                                   .transform_error(make_eof_scan_error));
3541
3542
242
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
242
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
242
        if (SCN_LIKELY(!specs.localized)) {
3565
242
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
872
    {
3539
872
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
872
                                   .transform_error(make_eof_scan_error));
3541
3542
872
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
872
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
872
        if (SCN_LIKELY(!specs.localized)) {
3565
872
            SCN_TRY(after_digits_it,
3566
872
                    parse_integer_digits_without_thsep(
3567
872
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
872
                        prefix_result.parsed_base));
3569
3570
872
            auto buf = make_contiguous_buffer(
3571
872
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
872
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
872
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
277k
    {
3539
277k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
277k
                                   .transform_error(make_eof_scan_error));
3541
3542
277k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.46k
            if constexpr (!std::is_signed_v<T>) {
3544
8.46k
                return unexpected_scan_error(
3545
8.46k
                    scan_error::invalid_scanned_value,
3546
8.46k
                    "Unexpected '-' sign when parsing an "
3547
8.46k
                    "unsigned value");
3548
8.46k
            }
3549
8.46k
            else {
3550
8.46k
                if (specs.type ==
3551
8.46k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.46k
                    return unexpected_scan_error(
3553
8.46k
                        scan_error::invalid_scanned_value,
3554
8.46k
                        "'u'-option disallows negative values");
3555
8.46k
                }
3556
8.46k
            }
3557
8.46k
        }
3558
3559
269k
        if (prefix_result.is_zero) {
3560
26.3k
            value = T{0};
3561
26.3k
            return std::next(prefix_result.iterator);
3562
26.3k
        }
3563
3564
242k
        if (SCN_LIKELY(!specs.localized)) {
3565
191k
            SCN_TRY(after_digits_it,
3566
182k
                    parse_integer_digits_without_thsep(
3567
182k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
182k
                        prefix_result.parsed_base));
3569
3570
182k
            auto buf = make_contiguous_buffer(
3571
182k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
182k
            SCN_TRY(result_it,
3573
181k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
181k
                                        prefix_result.parsed_base));
3575
3576
181k
            return ranges::next(
3577
181k
                prefix_result.iterator,
3578
181k
                ranges::distance(buf.view().begin(), result_it));
3579
182k
        }
3580
3581
50.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.9k
            localized_number_formatting_options<CharT>{loc};
3586
50.9k
#endif
3587
3588
50.9k
        SCN_TRY(parse_digits_result,
3589
49.6k
                parse_integer_digits_with_thsep(
3590
49.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.6k
                    prefix_result.parsed_base, locale_options));
3592
49.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.6k
            parse_digits_result;
3594
3595
49.6k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
49.3k
        auto nothsep_source_view =
3605
49.3k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.3k
        SCN_TRY(
3607
49.1k
            nothsep_source_it,
3608
49.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
49.1k
                                prefix_result.parsed_base));
3610
3611
49.1k
        return ranges::next(
3612
49.1k
            prefix_result.iterator,
3613
49.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
49.1k
                ranges::ssize(thsep_indices));
3615
49.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
276k
    {
3539
276k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
276k
                                   .transform_error(make_eof_scan_error));
3541
3542
276k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.44k
            if constexpr (!std::is_signed_v<T>) {
3544
8.44k
                return unexpected_scan_error(
3545
8.44k
                    scan_error::invalid_scanned_value,
3546
8.44k
                    "Unexpected '-' sign when parsing an "
3547
8.44k
                    "unsigned value");
3548
8.44k
            }
3549
8.44k
            else {
3550
8.44k
                if (specs.type ==
3551
8.44k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.44k
                    return unexpected_scan_error(
3553
8.44k
                        scan_error::invalid_scanned_value,
3554
8.44k
                        "'u'-option disallows negative values");
3555
8.44k
                }
3556
8.44k
            }
3557
8.44k
        }
3558
3559
267k
        if (prefix_result.is_zero) {
3560
26.0k
            value = T{0};
3561
26.0k
            return std::next(prefix_result.iterator);
3562
26.0k
        }
3563
3564
241k
        if (SCN_LIKELY(!specs.localized)) {
3565
190k
            SCN_TRY(after_digits_it,
3566
190k
                    parse_integer_digits_without_thsep(
3567
190k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
190k
                        prefix_result.parsed_base));
3569
3570
190k
            auto buf = make_contiguous_buffer(
3571
190k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
190k
            SCN_TRY(result_it,
3573
180k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
180k
                                        prefix_result.parsed_base));
3575
3576
180k
            return ranges::next(
3577
180k
                prefix_result.iterator,
3578
180k
                ranges::distance(buf.view().begin(), result_it));
3579
190k
        }
3580
3581
50.7k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.7k
            localized_number_formatting_options<CharT>{loc};
3586
50.7k
#endif
3587
3588
50.7k
        SCN_TRY(parse_digits_result,
3589
49.4k
                parse_integer_digits_with_thsep(
3590
49.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.4k
                    prefix_result.parsed_base, locale_options));
3592
49.4k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.4k
            parse_digits_result;
3594
3595
49.4k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
49.1k
        auto nothsep_source_view =
3605
49.1k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.1k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
49.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
46.8k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.0k
            SCN_TRY(after_digits_it,
3566
464
                    parse_integer_digits_without_thsep(
3567
464
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
464
                        prefix_result.parsed_base));
3569
3570
464
            auto buf = make_contiguous_buffer(
3571
464
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
464
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
464
        }
3580
3581
7.81k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.81k
            localized_number_formatting_options<CharT>{loc};
3586
7.81k
#endif
3587
3588
7.81k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
154
    {
3539
154
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
154
                                   .transform_error(make_eof_scan_error));
3541
3542
154
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
154
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
154
        if (SCN_LIKELY(!specs.localized)) {
3565
140
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
14
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
14
            localized_number_formatting_options<CharT>{loc};
3586
14
#endif
3587
3588
14
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.2k
    {
3539
47.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.2k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
47.2k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
47.2k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.4k
            SCN_TRY(after_digits_it,
3566
39.3k
                    parse_integer_digits_without_thsep(
3567
39.3k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.3k
                        prefix_result.parsed_base));
3569
3570
39.3k
            auto buf = make_contiguous_buffer(
3571
39.3k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.3k
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
39.3k
        }
3580
3581
7.83k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.83k
            localized_number_formatting_options<CharT>{loc};
3586
7.83k
#endif
3587
3588
7.83k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
452
                    parse_integer_digits_without_thsep(
3567
452
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
452
                        prefix_result.parsed_base));
3569
3570
452
            auto buf = make_contiguous_buffer(
3571
452
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
452
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
452
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
38.9k
                    parse_integer_digits_without_thsep(
3567
38.9k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.9k
                        prefix_result.parsed_base));
3569
3570
38.9k
            auto buf = make_contiguous_buffer(
3571
38.9k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.9k
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
38.9k
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
494
                    parse_integer_digits_without_thsep(
3567
494
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
494
                        prefix_result.parsed_base));
3569
3570
494
            auto buf = make_contiguous_buffer(
3571
494
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
494
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
494
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
4.03k
                parse_integer_digits_with_thsep(
3590
4.03k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.03k
                    prefix_result.parsed_base, locale_options));
3592
4.03k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.03k
            parse_digits_result;
3594
3595
4.03k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.0k
                    parse_integer_digits_without_thsep(
3567
39.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.0k
                        prefix_result.parsed_base));
3569
3570
39.0k
            auto buf = make_contiguous_buffer(
3571
39.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.0k
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
39.0k
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
4.03k
                parse_integer_digits_with_thsep(
3590
4.03k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.03k
                    prefix_result.parsed_base, locale_options));
3592
4.03k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.03k
            parse_digits_result;
3594
3595
4.03k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
378
                    parse_integer_digits_without_thsep(
3567
378
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
378
                        prefix_result.parsed_base));
3569
3570
378
            auto buf = make_contiguous_buffer(
3571
378
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
378
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
378
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
38.7k
                    parse_integer_digits_without_thsep(
3567
38.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.7k
                        prefix_result.parsed_base));
3569
3570
38.7k
            auto buf = make_contiguous_buffer(
3571
38.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.7k
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
38.7k
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
384
                    parse_integer_digits_without_thsep(
3567
384
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
384
                        prefix_result.parsed_base));
3569
3570
384
            auto buf = make_contiguous_buffer(
3571
384
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
384
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
384
        }
3580
3581
7.76k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.76k
            localized_number_formatting_options<CharT>{loc};
3586
7.76k
#endif
3587
3588
7.76k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
134
    {
3539
134
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
134
                                   .transform_error(make_eof_scan_error));
3541
3542
134
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
134
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
134
        if (SCN_LIKELY(!specs.localized)) {
3565
120
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
14
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
14
            localized_number_formatting_options<CharT>{loc};
3586
14
#endif
3587
3588
14
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.2k
    {
3539
47.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.2k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.1k
                    parse_integer_digits_without_thsep(
3567
39.1k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.1k
                        prefix_result.parsed_base));
3569
3570
39.1k
            auto buf = make_contiguous_buffer(
3571
39.1k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.1k
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
39.1k
        }
3580
3581
7.77k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.77k
            localized_number_formatting_options<CharT>{loc};
3586
7.77k
#endif
3587
3588
7.77k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
102
    {
3539
102
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
102
                                   .transform_error(make_eof_scan_error));
3541
3542
102
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
102
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
102
        if (SCN_LIKELY(!specs.localized)) {
3565
102
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
802
    {
3539
802
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
802
                                   .transform_error(make_eof_scan_error));
3541
3542
802
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
802
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
802
        if (SCN_LIKELY(!specs.localized)) {
3565
802
            SCN_TRY(after_digits_it,
3566
802
                    parse_integer_digits_without_thsep(
3567
802
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
802
                        prefix_result.parsed_base));
3569
3570
802
            auto buf = make_contiguous_buffer(
3571
802
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
802
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
802
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
406
                    parse_integer_digits_without_thsep(
3567
406
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
406
                        prefix_result.parsed_base));
3569
3570
406
            auto buf = make_contiguous_buffer(
3571
406
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
406
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
406
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
4.00k
                parse_integer_digits_with_thsep(
3590
4.00k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.00k
                    prefix_result.parsed_base, locale_options));
3592
4.00k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.00k
            parse_digits_result;
3594
3595
4.00k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
38.8k
                    parse_integer_digits_without_thsep(
3567
38.8k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.8k
                        prefix_result.parsed_base));
3569
3570
38.8k
            auto buf = make_contiguous_buffer(
3571
38.8k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.8k
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
38.8k
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
4.00k
                parse_integer_digits_with_thsep(
3590
4.00k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.00k
                    prefix_result.parsed_base, locale_options));
3592
4.00k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.00k
            parse_digits_result;
3594
3595
4.00k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
3616
};
3617
3618
/////////////////////////////////////////////////////////////////
3619
// Floating-point reader
3620
/////////////////////////////////////////////////////////////////
3621
3622
struct float_reader_base {
3623
    enum options_type {
3624
        allow_hex = 1,
3625
        allow_scientific = 2,
3626
        allow_fixed = 4,
3627
        allow_thsep = 8
3628
    };
3629
3630
    enum class float_kind {
3631
        tbd = 0,
3632
        generic,             // fixed or scientific
3633
        fixed,               // xxx.yyy
3634
        scientific,          // xxx.yyyEzzz
3635
        hex_without_prefix,  // xxx.yyypzzz
3636
        hex_with_prefix,     // 0Xxxx.yyypzzz
3637
        inf_short,           // inf
3638
        inf_long,            // infinity
3639
        nan_simple,          // nan
3640
        nan_with_payload,    // nan(xxx)
3641
    };
3642
3643
842k
    constexpr float_reader_base() = default;
3644
2.17M
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3645
3646
protected:
3647
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3648
};
3649
3650
template <typename CharT>
3651
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3652
    using numeric_base = numeric_reader<CharT>;
3653
3654
public:
3655
    using char_type = CharT;
3656
3657
842k
    constexpr float_reader() = default;
scn::v3::impl::float_reader<char>::float_reader()
Line
Count
Source
3657
600k
    constexpr float_reader() = default;
scn::v3::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3657
242k
    constexpr float_reader() = default;
3658
3659
2.17M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3659
1.48M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3659
692k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3660
3661
    template <typename Range>
3662
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3663
        -> scan_expected<ranges::const_iterator_t<Range>>
3664
2.44M
    {
3665
2.44M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
2.44M
        return read_source_impl(range);
3671
2.44M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
882k
    {
3665
882k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
882k
        return read_source_impl(range);
3671
882k
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
262
    {
3665
262
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
262
        return read_source_impl(range);
3671
262
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
784k
    {
3665
784k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
784k
        return read_source_impl(range);
3671
784k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
386k
    {
3665
386k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
386k
        return read_source_impl(range);
3671
386k
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
114
    {
3665
114
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
114
        return read_source_impl(range);
3671
114
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
387k
    {
3665
387k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
387k
        return read_source_impl(range);
3671
387k
    }
3672
3673
#if !SCN_DISABLE_LOCALE
3674
    template <typename Range>
3675
    SCN_NODISCARD auto read_source_localized(Range range,
3676
                                             detail::locale_ref loc)
3677
        -> scan_expected<ranges::const_iterator_t<Range>>
3678
580k
    {
3679
580k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
580k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
580k
        return read_source_impl(range);
3685
580k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
226k
    {
3679
226k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
226k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
226k
        return read_source_impl(range);
3685
226k
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
8
    {
3679
8
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
8
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
8
        return read_source_impl(range);
3685
8
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
192k
    {
3679
192k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
192k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
192k
        return read_source_impl(range);
3685
192k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
80.6k
    {
3679
80.6k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
80.6k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
80.6k
        return read_source_impl(range);
3685
80.6k
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
6
    {
3679
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
6
        return read_source_impl(range);
3685
6
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
80.7k
    {
3679
80.7k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
80.7k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
80.7k
        return read_source_impl(range);
3685
80.7k
    }
3686
#endif
3687
3688
    template <typename T>
3689
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3690
2.69M
    {
3691
2.69M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
2.69M
        const std::ptrdiff_t sign_len =
3694
2.69M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
2.69M
        SCN_TRY(n, parse_value_impl(value));
3697
2.56M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
2.69M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<float>(float&)
Line
Count
Source
3690
645k
    {
3691
645k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
645k
        const std::ptrdiff_t sign_len =
3694
645k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
645k
        SCN_TRY(n, parse_value_impl(value));
3697
630k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
645k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3690
670k
    {
3691
670k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
670k
        const std::ptrdiff_t sign_len =
3694
670k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
670k
        SCN_TRY(n, parse_value_impl(value));
3697
657k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
670k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<long double>(long double&)
Line
Count
Source
3690
676k
    {
3691
676k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
676k
        const std::ptrdiff_t sign_len =
3694
676k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
676k
        SCN_TRY(n, parse_value_impl(value));
3697
665k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
676k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<float>(float&)
Line
Count
Source
3690
224k
    {
3691
224k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
224k
        const std::ptrdiff_t sign_len =
3694
224k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
224k
        SCN_TRY(n, parse_value_impl(value));
3697
193k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
224k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3690
235k
    {
3691
235k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
235k
        const std::ptrdiff_t sign_len =
3694
235k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
235k
        SCN_TRY(n, parse_value_impl(value));
3697
205k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
235k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
Line
Count
Source
3690
239k
    {
3691
239k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
239k
        const std::ptrdiff_t sign_len =
3694
239k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
239k
        SCN_TRY(n, parse_value_impl(value));
3697
210k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
239k
    }
3699
3700
private:
3701
    template <typename Range>
3702
    auto read_source_impl(Range range)
3703
        -> scan_expected<ranges::const_iterator_t<Range>>
3704
3.02M
    {
3705
3.02M
        SCN_TRY(sign_result,
3706
3.02M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
3.02M
        auto it = sign_result.first;
3708
3.02M
        m_sign = sign_result.second;
3709
3710
3.02M
        auto digits_begin = it;
3711
3.02M
        auto r = ranges::subrange{it, range.end()};
3712
3.02M
        if constexpr (ranges::contiguous_range<Range> &&
3713
3.02M
                      ranges::sized_range<Range>) {
3714
1.57M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
1.57M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
1.44M
            else {
3724
1.44M
                auto cb = [&](const auto& rr)
3725
1.44M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
935k
                    auto res = read_all(rr);
3727
935k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
946
                        return unexpected_scan_error(
3729
946
                            scan_error::invalid_scanned_value,
3730
946
                            "Invalid float value");
3731
946
                    }
3732
934k
                    return res;
3733
935k
                };
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
647k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
647k
                    auto res = read_all(rr);
3727
647k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
837
                        return unexpected_scan_error(
3729
837
                            scan_error::invalid_scanned_value,
3730
837
                            "Invalid float value");
3731
837
                    }
3732
646k
                    return res;
3733
647k
                };
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
287k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
287k
                    auto res = read_all(rr);
3727
287k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
109
                        return unexpected_scan_error(
3729
109
                            scan_error::invalid_scanned_value,
3730
109
                            "Invalid float value");
3731
109
                    }
3732
287k
                    return res;
3733
287k
                };
3734
1.44M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
1.33M
            }
3736
1.44M
        }
3737
1.57M
        else {
3738
1.57M
            SCN_TRY_ASSIGN(
3739
1.35M
                it,
3740
1.35M
                do_read_source_impl(
3741
1.35M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
1.35M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
1.35M
        }
3744
3745
2.69M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
2.69M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
2.69M
            m_kind != float_kind::nan_simple &&
3749
2.69M
            m_kind != float_kind::nan_with_payload) {
3750
2.57M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
2.57M
        }
3752
3753
2.69M
        handle_separators();
3754
3755
2.69M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
2.69M
        return it;
3768
2.69M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
1.10M
    {
3705
1.10M
        SCN_TRY(sign_result,
3706
1.10M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
1.10M
        auto it = sign_result.first;
3708
1.10M
        m_sign = sign_result.second;
3709
3710
1.10M
        auto digits_begin = it;
3711
1.10M
        auto r = ranges::subrange{it, range.end()};
3712
1.10M
        if constexpr (ranges::contiguous_range<Range> &&
3713
1.10M
                      ranges::sized_range<Range>) {
3714
1.10M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
1.10M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
1.10M
                SCN_TRY_ASSIGN(
3717
1.10M
                    it,
3718
1.10M
                    do_read_source_impl(
3719
1.10M
                        r,
3720
1.10M
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
1.10M
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
1.10M
            }
3723
1.10M
            else {
3724
1.10M
                auto cb = [&](const auto& rr)
3725
1.10M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.10M
                    auto res = read_all(rr);
3727
1.10M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.10M
                        return unexpected_scan_error(
3729
1.10M
                            scan_error::invalid_scanned_value,
3730
1.10M
                            "Invalid float value");
3731
1.10M
                    }
3732
1.10M
                    return res;
3733
1.10M
                };
3734
1.10M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
1.10M
            }
3736
1.10M
        }
3737
1.10M
        else {
3738
1.10M
            SCN_TRY_ASSIGN(
3739
1.04M
                it,
3740
1.04M
                do_read_source_impl(
3741
1.04M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
1.04M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
1.04M
        }
3744
3745
1.04M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
1.04M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
1.04M
            m_kind != float_kind::nan_simple &&
3749
1.04M
            m_kind != float_kind::nan_with_payload) {
3750
992k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
992k
        }
3752
3753
1.04M
        handle_separators();
3754
3755
1.04M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
1.04M
        return it;
3768
1.04M
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
270
    {
3705
270
        SCN_TRY(sign_result,
3706
270
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
270
        auto it = sign_result.first;
3708
270
        m_sign = sign_result.second;
3709
3710
270
        auto digits_begin = it;
3711
270
        auto r = ranges::subrange{it, range.end()};
3712
270
        if constexpr (ranges::contiguous_range<Range> &&
3713
270
                      ranges::sized_range<Range>) {
3714
270
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
270
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
270
                SCN_TRY_ASSIGN(
3717
270
                    it,
3718
270
                    do_read_source_impl(
3719
270
                        r,
3720
270
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
270
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
270
            }
3723
270
            else {
3724
270
                auto cb = [&](const auto& rr)
3725
270
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
270
                    auto res = read_all(rr);
3727
270
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
270
                        return unexpected_scan_error(
3729
270
                            scan_error::invalid_scanned_value,
3730
270
                            "Invalid float value");
3731
270
                    }
3732
270
                    return res;
3733
270
                };
3734
270
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
270
            }
3736
270
        }
3737
270
        else {
3738
270
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
976k
    {
3705
976k
        SCN_TRY(sign_result,
3706
976k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
976k
        auto it = sign_result.first;
3708
976k
        m_sign = sign_result.second;
3709
3710
976k
        auto digits_begin = it;
3711
976k
        auto r = ranges::subrange{it, range.end()};
3712
976k
        if constexpr (ranges::contiguous_range<Range> &&
3713
976k
                      ranges::sized_range<Range>) {
3714
976k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
976k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
976k
            else {
3724
976k
                auto cb = [&](const auto& rr)
3725
976k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
976k
                    auto res = read_all(rr);
3727
976k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
976k
                        return unexpected_scan_error(
3729
976k
                            scan_error::invalid_scanned_value,
3730
976k
                            "Invalid float value");
3731
976k
                    }
3732
976k
                    return res;
3733
976k
                };
3734
976k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
942k
            }
3736
976k
        }
3737
942k
        else {
3738
942k
            SCN_TRY_ASSIGN(
3739
942k
                it,
3740
942k
                do_read_source_impl(
3741
942k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
942k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
942k
        }
3744
3745
942k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
942k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
942k
            m_kind != float_kind::nan_simple &&
3749
942k
            m_kind != float_kind::nan_with_payload) {
3750
887k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
887k
        }
3752
3753
942k
        handle_separators();
3754
3755
942k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
942k
        return it;
3768
942k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
467k
    {
3705
467k
        SCN_TRY(sign_result,
3706
467k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
467k
        auto it = sign_result.first;
3708
467k
        m_sign = sign_result.second;
3709
3710
467k
        auto digits_begin = it;
3711
467k
        auto r = ranges::subrange{it, range.end()};
3712
467k
        if constexpr (ranges::contiguous_range<Range> &&
3713
467k
                      ranges::sized_range<Range>) {
3714
467k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
467k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
467k
                SCN_TRY_ASSIGN(
3717
467k
                    it,
3718
467k
                    do_read_source_impl(
3719
467k
                        r,
3720
467k
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
467k
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
467k
            }
3723
467k
            else {
3724
467k
                auto cb = [&](const auto& rr)
3725
467k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
467k
                    auto res = read_all(rr);
3727
467k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
467k
                        return unexpected_scan_error(
3729
467k
                            scan_error::invalid_scanned_value,
3730
467k
                            "Invalid float value");
3731
467k
                    }
3732
467k
                    return res;
3733
467k
                };
3734
467k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
467k
            }
3736
467k
        }
3737
467k
        else {
3738
467k
            SCN_TRY_ASSIGN(
3739
306k
                it,
3740
306k
                do_read_source_impl(
3741
306k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
306k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
306k
        }
3744
3745
306k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
306k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
306k
            m_kind != float_kind::nan_simple &&
3749
306k
            m_kind != float_kind::nan_with_payload) {
3750
306k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
306k
        }
3752
3753
306k
        handle_separators();
3754
3755
306k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
306k
        return it;
3768
306k
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
120
    {
3705
120
        SCN_TRY(sign_result,
3706
120
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
120
        auto it = sign_result.first;
3708
120
        m_sign = sign_result.second;
3709
3710
120
        auto digits_begin = it;
3711
120
        auto r = ranges::subrange{it, range.end()};
3712
120
        if constexpr (ranges::contiguous_range<Range> &&
3713
120
                      ranges::sized_range<Range>) {
3714
120
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
120
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
120
                SCN_TRY_ASSIGN(
3717
120
                    it,
3718
120
                    do_read_source_impl(
3719
120
                        r,
3720
120
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
120
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
120
            }
3723
120
            else {
3724
120
                auto cb = [&](const auto& rr)
3725
120
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
120
                    auto res = read_all(rr);
3727
120
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
120
                        return unexpected_scan_error(
3729
120
                            scan_error::invalid_scanned_value,
3730
120
                            "Invalid float value");
3731
120
                    }
3732
120
                    return res;
3733
120
                };
3734
120
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
120
            }
3736
120
        }
3737
120
        else {
3738
120
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
468k
    {
3705
468k
        SCN_TRY(sign_result,
3706
468k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
468k
        auto it = sign_result.first;
3708
468k
        m_sign = sign_result.second;
3709
3710
468k
        auto digits_begin = it;
3711
468k
        auto r = ranges::subrange{it, range.end()};
3712
468k
        if constexpr (ranges::contiguous_range<Range> &&
3713
468k
                      ranges::sized_range<Range>) {
3714
468k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
468k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
468k
            else {
3724
468k
                auto cb = [&](const auto& rr)
3725
468k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
468k
                    auto res = read_all(rr);
3727
468k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
468k
                        return unexpected_scan_error(
3729
468k
                            scan_error::invalid_scanned_value,
3730
468k
                            "Invalid float value");
3731
468k
                    }
3732
468k
                    return res;
3733
468k
                };
3734
468k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
393k
            }
3736
468k
        }
3737
393k
        else {
3738
393k
            SCN_TRY_ASSIGN(
3739
393k
                it,
3740
393k
                do_read_source_impl(
3741
393k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
393k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
393k
        }
3744
3745
393k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
393k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
393k
            m_kind != float_kind::nan_simple &&
3749
393k
            m_kind != float_kind::nan_with_payload) {
3750
393k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
393k
        }
3752
3753
393k
        handle_separators();
3754
3755
393k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
393k
        return it;
3768
393k
    }
3769
3770
    template <typename Range>
3771
    auto read_dec_digits(Range range, bool thsep_allowed)
3772
        -> parse_expected<ranges::const_iterator_t<Range>>
3773
2.99M
    {
3774
2.99M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
2.99M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3780
0
        }
3781
3782
2.99M
        return read_while1_code_unit(
3783
12.4M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3783
8.42M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3783
266
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3783
2.70M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3783
912k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3783
114
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3783
412k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
2.99M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
1.55M
    {
3774
1.55M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
1.55M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
1.55M
        return read_while1_code_unit(
3783
1.55M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
1.55M
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
266
    {
3774
266
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
266
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
266
        return read_while1_code_unit(
3783
266
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
266
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
523k
    {
3774
523k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
523k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
523k
        return read_while1_code_unit(
3783
523k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
523k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
630k
    {
3774
630k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
630k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
630k
        return read_while1_code_unit(
3783
630k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
630k
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
114
    {
3774
114
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
114
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
114
        return read_while1_code_unit(
3783
114
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
114
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
289k
    {
3774
289k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
289k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
289k
        return read_while1_code_unit(
3783
289k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
289k
    }
3785
    template <typename Range>
3786
    auto read_hex_digits(Range range, bool thsep_allowed)
3787
        -> parse_expected<ranges::const_iterator_t<Range>>
3788
648k
    {
3789
648k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
648k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3795
0
        }
3796
3797
648k
        return read_while1_code_unit(
3798
2.77M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3798
2.55M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3798
4
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3798
221k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3799
648k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
502k
    {
3789
502k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
502k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
502k
        return read_while1_code_unit(
3798
502k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
502k
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
4
    {
3789
4
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
4
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
4
        return read_while1_code_unit(
3798
4
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
4
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
145k
    {
3789
145k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
145k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
145k
        return read_while1_code_unit(
3798
145k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
145k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
6
    {
3789
6
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
6
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
6
        return read_while1_code_unit(
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3800
    template <typename Range>
3801
    auto read_hex_prefix(Range range)
3802
        -> parse_expected<ranges::const_iterator_t<Range>>
3803
1.96M
    {
3804
1.96M
        return read_matching_string_classic_nocase(range, "0x");
3805
1.96M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
740k
    {
3804
740k
        return read_matching_string_classic_nocase(range, "0x");
3805
740k
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
252
    {
3804
252
        return read_matching_string_classic_nocase(range, "0x");
3805
252
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
647k
    {
3804
647k
        return read_matching_string_classic_nocase(range, "0x");
3805
647k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
286k
    {
3804
286k
        return read_matching_string_classic_nocase(range, "0x");
3805
286k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
112
    {
3804
112
        return read_matching_string_classic_nocase(range, "0x");
3805
112
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
287k
    {
3804
287k
        return read_matching_string_classic_nocase(range, "0x");
3805
287k
    }
3806
3807
    template <typename Range>
3808
    auto read_inf(Range range)
3809
        -> parse_expected<ranges::const_iterator_t<Range>>
3810
3.02M
    {
3811
3.02M
        auto it = range.begin();
3812
3.02M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.99M
            return unexpected(r.error());
3814
2.99M
        }
3815
21.7k
        else {
3816
21.7k
            it = *r;
3817
21.7k
        }
3818
3819
21.7k
        if (auto r = read_matching_string_classic_nocase(
3820
21.7k
                ranges::subrange{it, range.end()}, "inity");
3821
21.7k
            !r) {
3822
11.5k
            m_kind = float_kind::inf_short;
3823
11.5k
            return it;
3824
11.5k
        }
3825
10.2k
        else {
3826
10.2k
            m_kind = float_kind::inf_long;
3827
10.2k
            return *r;
3828
10.2k
        }
3829
21.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
1.10M
    {
3811
1.10M
        auto it = range.begin();
3812
1.10M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
1.09M
            return unexpected(r.error());
3814
1.09M
        }
3815
11.0k
        else {
3816
11.0k
            it = *r;
3817
11.0k
        }
3818
3819
11.0k
        if (auto r = read_matching_string_classic_nocase(
3820
11.0k
                ranges::subrange{it, range.end()}, "inity");
3821
11.0k
            !r) {
3822
5.84k
            m_kind = float_kind::inf_short;
3823
5.84k
            return it;
3824
5.84k
        }
3825
5.24k
        else {
3826
5.24k
            m_kind = float_kind::inf_long;
3827
5.24k
            return *r;
3828
5.24k
        }
3829
11.0k
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
270
    {
3811
270
        auto it = range.begin();
3812
270
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
270
            return unexpected(r.error());
3814
270
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
976k
    {
3811
976k
        auto it = range.begin();
3812
976k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
965k
            return unexpected(r.error());
3814
965k
        }
3815
10.6k
        else {
3816
10.6k
            it = *r;
3817
10.6k
        }
3818
3819
10.6k
        if (auto r = read_matching_string_classic_nocase(
3820
10.6k
                ranges::subrange{it, range.end()}, "inity");
3821
10.6k
            !r) {
3822
5.68k
            m_kind = float_kind::inf_short;
3823
5.68k
            return it;
3824
5.68k
        }
3825
4.97k
        else {
3826
4.97k
            m_kind = float_kind::inf_long;
3827
4.97k
            return *r;
3828
4.97k
        }
3829
10.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
467k
    {
3811
467k
        auto it = range.begin();
3812
467k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
467k
            return unexpected(r.error());
3814
467k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
120
    {
3811
120
        auto it = range.begin();
3812
120
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
120
            return unexpected(r.error());
3814
120
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
468k
    {
3811
468k
        auto it = range.begin();
3812
468k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
468k
            return unexpected(r.error());
3814
468k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
3830
3831
    template <typename Range>
3832
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3833
2.99M
    {
3834
2.99M
        auto it = range.begin();
3835
2.99M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.90M
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.90M
                scan_error::invalid_scanned_value,
3838
2.90M
                "Invalid floating-point NaN value"));
3839
2.90M
        }
3840
92.8k
        else {
3841
92.8k
            it = *r;
3842
92.8k
        }
3843
3844
92.8k
        if (auto r =
3845
92.8k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
92.8k
            !r) {
3847
88.0k
            m_kind = float_kind::nan_simple;
3848
88.0k
            return it;
3849
88.0k
        }
3850
4.86k
        else {
3851
4.86k
            it = *r;
3852
4.86k
        }
3853
3854
4.86k
        auto payload_beg_it = it;
3855
4.86k
        it = read_while_code_unit(
3856
41.2k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
41.2k
                return is_ascii_char(ch) &&
3858
41.2k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
41.0k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
41.2k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Line
Count
Source
3856
20.6k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
20.6k
                return is_ascii_char(ch) &&
3858
20.6k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
20.5k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
20.6k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Line
Count
Source
3856
20.5k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
20.5k
                return is_ascii_char(ch) &&
3858
20.5k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
20.4k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
20.5k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3861
4.86k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
4.86k
        m_kind = float_kind::nan_with_payload;
3864
4.86k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
4.86k
                                             ')')) {
3866
2.63k
            return *r;
3867
2.63k
        }
3868
2.22k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
2.22k
                                     "Invalid floating-point NaN payload");
3870
4.86k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
1.09M
    {
3834
1.09M
        auto it = range.begin();
3835
1.09M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
1.05M
            return r.transform_error(map_parse_error_to_scan_error(
3837
1.05M
                scan_error::invalid_scanned_value,
3838
1.05M
                "Invalid floating-point NaN value"));
3839
1.05M
        }
3840
46.8k
        else {
3841
46.8k
            it = *r;
3842
46.8k
        }
3843
3844
46.8k
        if (auto r =
3845
46.8k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
46.8k
            !r) {
3847
44.3k
            m_kind = float_kind::nan_simple;
3848
44.3k
            return it;
3849
44.3k
        }
3850
2.44k
        else {
3851
2.44k
            it = *r;
3852
2.44k
        }
3853
3854
2.44k
        auto payload_beg_it = it;
3855
2.44k
        it = read_while_code_unit(
3856
2.44k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
2.44k
                return is_ascii_char(ch) &&
3858
2.44k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
2.44k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
2.44k
            });
3861
2.44k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
2.44k
        m_kind = float_kind::nan_with_payload;
3864
2.44k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
2.44k
                                             ')')) {
3866
1.33k
            return *r;
3867
1.33k
        }
3868
1.11k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.11k
                                     "Invalid floating-point NaN payload");
3870
2.44k
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
270
    {
3834
270
        auto it = range.begin();
3835
270
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
270
            return r.transform_error(map_parse_error_to_scan_error(
3837
270
                scan_error::invalid_scanned_value,
3838
270
                "Invalid floating-point NaN value"));
3839
270
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
965k
    {
3834
965k
        auto it = range.begin();
3835
965k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
919k
            return r.transform_error(map_parse_error_to_scan_error(
3837
919k
                scan_error::invalid_scanned_value,
3838
919k
                "Invalid floating-point NaN value"));
3839
919k
        }
3840
46.0k
        else {
3841
46.0k
            it = *r;
3842
46.0k
        }
3843
3844
46.0k
        if (auto r =
3845
46.0k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
46.0k
            !r) {
3847
43.6k
            m_kind = float_kind::nan_simple;
3848
43.6k
            return it;
3849
43.6k
        }
3850
2.41k
        else {
3851
2.41k
            it = *r;
3852
2.41k
        }
3853
3854
2.41k
        auto payload_beg_it = it;
3855
2.41k
        it = read_while_code_unit(
3856
2.41k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
2.41k
                return is_ascii_char(ch) &&
3858
2.41k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
2.41k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
2.41k
            });
3861
2.41k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
2.41k
        m_kind = float_kind::nan_with_payload;
3864
2.41k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
2.41k
                                             ')')) {
3866
1.30k
            return *r;
3867
1.30k
        }
3868
1.10k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.10k
                                     "Invalid floating-point NaN payload");
3870
2.41k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
467k
    {
3834
467k
        auto it = range.begin();
3835
467k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
467k
            return r.transform_error(map_parse_error_to_scan_error(
3837
467k
                scan_error::invalid_scanned_value,
3838
467k
                "Invalid floating-point NaN value"));
3839
467k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
120
    {
3834
120
        auto it = range.begin();
3835
120
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
120
            return r.transform_error(map_parse_error_to_scan_error(
3837
120
                scan_error::invalid_scanned_value,
3838
120
                "Invalid floating-point NaN value"));
3839
120
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
468k
    {
3834
468k
        auto it = range.begin();
3835
468k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
468k
            return r.transform_error(map_parse_error_to_scan_error(
3837
468k
                scan_error::invalid_scanned_value,
3838
468k
                "Invalid floating-point NaN value"));
3839
468k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
3871
3872
    template <typename Range>
3873
    auto read_exponent(Range range, std::string_view exp)
3874
        -> ranges::const_iterator_t<Range>
3875
1.38M
    {
3876
1.38M
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
152k
            auto beg_exp_it = range.begin();
3878
152k
            auto it = *r;
3879
3880
152k
            if (auto r_sign =
3881
152k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
152k
                it = r_sign->first;
3883
152k
            }
3884
3885
152k
            if (auto r_exp = read_while1_code_unit(
3886
152k
                    ranges::subrange{it, range.end()},
3887
471k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
351k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
80.6k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
29.2k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
10.0k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
152k
                SCN_UNLIKELY(!r_exp)) {
3889
4.00k
                it = beg_exp_it;
3890
4.00k
            }
3891
148k
            else {
3892
148k
                it = *r_exp;
3893
148k
            }
3894
3895
152k
            return it;
3896
152k
        }
3897
1.23M
        return range.begin();
3898
1.38M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
903k
    {
3876
903k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
113k
            auto beg_exp_it = range.begin();
3878
113k
            auto it = *r;
3879
3880
113k
            if (auto r_sign =
3881
113k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
112k
                it = r_sign->first;
3883
112k
            }
3884
3885
113k
            if (auto r_exp = read_while1_code_unit(
3886
113k
                    ranges::subrange{it, range.end()},
3887
113k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
113k
                SCN_UNLIKELY(!r_exp)) {
3889
1.80k
                it = beg_exp_it;
3890
1.80k
            }
3891
111k
            else {
3892
111k
                it = *r_exp;
3893
111k
            }
3894
3895
113k
            return it;
3896
113k
        }
3897
790k
        return range.begin();
3898
903k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
160k
    {
3876
160k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
27.8k
            auto beg_exp_it = range.begin();
3878
27.8k
            auto it = *r;
3879
3880
27.8k
            if (auto r_sign =
3881
27.8k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
27.7k
                it = r_sign->first;
3883
27.7k
            }
3884
3885
27.8k
            if (auto r_exp = read_while1_code_unit(
3886
27.8k
                    ranges::subrange{it, range.end()},
3887
27.8k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
27.8k
                SCN_UNLIKELY(!r_exp)) {
3889
648
                it = beg_exp_it;
3890
648
            }
3891
27.2k
            else {
3892
27.2k
                it = *r_exp;
3893
27.2k
            }
3894
3895
27.8k
            return it;
3896
27.8k
        }
3897
132k
        return range.begin();
3898
160k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
260k
    {
3876
260k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
8.71k
            auto beg_exp_it = range.begin();
3878
8.71k
            auto it = *r;
3879
3880
8.71k
            if (auto r_sign =
3881
8.71k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
8.64k
                it = r_sign->first;
3883
8.64k
            }
3884
3885
8.71k
            if (auto r_exp = read_while1_code_unit(
3886
8.71k
                    ranges::subrange{it, range.end()},
3887
8.71k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
8.71k
                SCN_UNLIKELY(!r_exp)) {
3889
1.10k
                it = beg_exp_it;
3890
1.10k
            }
3891
7.60k
            else {
3892
7.60k
                it = *r_exp;
3893
7.60k
            }
3894
3895
8.71k
            return it;
3896
8.71k
        }
3897
251k
        return range.begin();
3898
260k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
59.2k
    {
3876
59.2k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
3.03k
            auto beg_exp_it = range.begin();
3878
3.03k
            auto it = *r;
3879
3880
3.03k
            if (auto r_sign =
3881
3.03k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
3.01k
                it = r_sign->first;
3883
3.01k
            }
3884
3885
3.03k
            if (auto r_exp = read_while1_code_unit(
3886
3.03k
                    ranges::subrange{it, range.end()},
3887
3.03k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
3.03k
                SCN_UNLIKELY(!r_exp)) {
3889
438
                it = beg_exp_it;
3890
438
            }
3891
2.59k
            else {
3892
2.59k
                it = *r_exp;
3893
2.59k
            }
3894
3895
3.03k
            return it;
3896
3.03k
        }
3897
56.2k
        return range.begin();
3898
59.2k
    }
3899
3900
    template <typename Range>
3901
    auto read_hexfloat(Range range)
3902
        -> scan_expected<ranges::const_iterator_t<Range>>
3903
340k
    {
3904
340k
        auto it = range.begin();
3905
3906
340k
        std::ptrdiff_t digits_count = 0;
3907
340k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
340k
            SCN_UNLIKELY(!r)) {
3909
32.1k
            return r.transform_error(map_parse_error_to_scan_error(
3910
32.1k
                scan_error::invalid_scanned_value,
3911
32.1k
                "Invalid hexadecimal floating-point value"));
3912
32.1k
        }
3913
308k
        else {
3914
308k
            digits_count += ranges::distance(it, *r);
3915
308k
            it = *r;
3916
308k
        }
3917
3918
308k
        m_integral_part_length = digits_count;
3919
308k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
308k
                                             m_locale_options.decimal_point)) {
3921
38.8k
            it = *r;
3922
38.8k
        }
3923
3924
308k
        if (auto r =
3925
308k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
35.2k
            digits_count += ranges::distance(it, *r);
3927
35.2k
            it = *r;
3928
35.2k
        }
3929
3930
308k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
308k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
308k
        return it;
3938
308k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
254k
    {
3904
254k
        auto it = range.begin();
3905
3906
254k
        std::ptrdiff_t digits_count = 0;
3907
254k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
254k
            SCN_UNLIKELY(!r)) {
3909
7.31k
            return r.transform_error(map_parse_error_to_scan_error(
3910
7.31k
                scan_error::invalid_scanned_value,
3911
7.31k
                "Invalid hexadecimal floating-point value"));
3912
7.31k
        }
3913
247k
        else {
3914
247k
            digits_count += ranges::distance(it, *r);
3915
247k
            it = *r;
3916
247k
        }
3917
3918
247k
        m_integral_part_length = digits_count;
3919
247k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
247k
                                             m_locale_options.decimal_point)) {
3921
38.6k
            it = *r;
3922
38.6k
        }
3923
3924
247k
        if (auto r =
3925
247k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
35.0k
            digits_count += ranges::distance(it, *r);
3927
35.0k
            it = *r;
3928
35.0k
        }
3929
3930
247k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
247k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
247k
        return it;
3938
247k
    }
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
4
    {
3904
4
        auto it = range.begin();
3905
3906
4
        std::ptrdiff_t digits_count = 0;
3907
4
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
4
            SCN_UNLIKELY(!r)) {
3909
4
            return r.transform_error(map_parse_error_to_scan_error(
3910
4
                scan_error::invalid_scanned_value,
3911
4
                "Invalid hexadecimal floating-point value"));
3912
4
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
85.3k
    {
3904
85.3k
        auto it = range.begin();
3905
3906
85.3k
        std::ptrdiff_t digits_count = 0;
3907
85.3k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
85.3k
            SCN_UNLIKELY(!r)) {
3909
24.8k
            return r.transform_error(map_parse_error_to_scan_error(
3910
24.8k
                scan_error::invalid_scanned_value,
3911
24.8k
                "Invalid hexadecimal floating-point value"));
3912
24.8k
        }
3913
60.4k
        else {
3914
60.4k
            digits_count += ranges::distance(it, *r);
3915
60.4k
            it = *r;
3916
60.4k
        }
3917
3918
60.4k
        m_integral_part_length = digits_count;
3919
60.4k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
60.4k
                                             m_locale_options.decimal_point)) {
3921
234
            it = *r;
3922
234
        }
3923
3924
60.4k
        if (auto r =
3925
60.4k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
168
            digits_count += ranges::distance(it, *r);
3927
168
            it = *r;
3928
168
        }
3929
3930
60.4k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
60.4k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
60.4k
        return it;
3938
60.4k
    }
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
6
    {
3904
6
        auto it = range.begin();
3905
3906
6
        std::ptrdiff_t digits_count = 0;
3907
6
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
6
            SCN_UNLIKELY(!r)) {
3909
6
            return r.transform_error(map_parse_error_to_scan_error(
3910
6
                scan_error::invalid_scanned_value,
3911
6
                "Invalid hexadecimal floating-point value"));
3912
6
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
3939
3940
    template <typename Range>
3941
    auto read_regular_float(Range range)
3942
        -> scan_expected<ranges::const_iterator_t<Range>>
3943
1.63M
    {
3944
1.63M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
1.63M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
1.63M
        auto it = ranges::begin(range);
3948
1.63M
        std::ptrdiff_t digits_count = 0;
3949
3950
1.63M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
1.63M
            SCN_UNLIKELY(!r)) {
3952
266k
            return r.transform_error(
3953
266k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
266k
                                              "Invalid floating-point value"));
3955
266k
        }
3956
1.36M
        else {
3957
1.36M
            digits_count += ranges::distance(it, *r);
3958
1.36M
            it = *r;
3959
1.36M
        }
3960
3961
1.36M
        m_integral_part_length = digits_count;
3962
1.36M
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
1.36M
                                             m_locale_options.decimal_point)) {
3964
192k
            it = *r;
3965
192k
        }
3966
3967
1.36M
        if (auto r =
3968
1.36M
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
176k
            digits_count += ranges::distance(it, *r);
3970
176k
            it = *r;
3971
176k
        }
3972
3973
1.36M
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
1.36M
        auto beg_exp_it = it;
3979
1.36M
        if (allowed_exp) {
3980
1.07M
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
1.07M
        }
3982
1.36M
        if (required_exp && beg_exp_it == it) {
3983
27.0k
            return unexpected_scan_error(
3984
27.0k
                scan_error::invalid_scanned_value,
3985
27.0k
                "No exponent given to scientific float");
3986
27.0k
        }
3987
3988
1.33M
        m_kind =
3989
1.33M
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
1.33M
        return it;
3992
1.36M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
796k
    {
3944
796k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
796k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
796k
        auto it = ranges::begin(range);
3948
796k
        std::ptrdiff_t digits_count = 0;
3949
3950
796k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
796k
            SCN_UNLIKELY(!r)) {
3952
40.4k
            return r.transform_error(
3953
40.4k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
40.4k
                                              "Invalid floating-point value"));
3955
40.4k
        }
3956
755k
        else {
3957
755k
            digits_count += ranges::distance(it, *r);
3958
755k
            it = *r;
3959
755k
        }
3960
3961
755k
        m_integral_part_length = digits_count;
3962
755k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
755k
                                             m_locale_options.decimal_point)) {
3964
145k
            it = *r;
3965
145k
        }
3966
3967
755k
        if (auto r =
3968
755k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
134k
            digits_count += ranges::distance(it, *r);
3970
134k
            it = *r;
3971
134k
        }
3972
3973
755k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
755k
        auto beg_exp_it = it;
3979
755k
        if (allowed_exp) {
3980
656k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
656k
        }
3982
755k
        if (required_exp && beg_exp_it == it) {
3983
10.7k
            return unexpected_scan_error(
3984
10.7k
                scan_error::invalid_scanned_value,
3985
10.7k
                "No exponent given to scientific float");
3986
10.7k
        }
3987
3988
745k
        m_kind =
3989
745k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
745k
        return it;
3992
755k
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
266
    {
3944
266
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
266
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
266
        auto it = ranges::begin(range);
3948
266
        std::ptrdiff_t digits_count = 0;
3949
3950
266
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
266
            SCN_UNLIKELY(!r)) {
3952
266
            return r.transform_error(
3953
266
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
266
                                              "Invalid floating-point value"));
3955
266
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
272k
    {
3944
272k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
272k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
272k
        auto it = ranges::begin(range);
3948
272k
        std::ptrdiff_t digits_count = 0;
3949
3950
272k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
272k
            SCN_UNLIKELY(!r)) {
3952
21.5k
            return r.transform_error(
3953
21.5k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
21.5k
                                              "Invalid floating-point value"));
3955
21.5k
        }
3956
250k
        else {
3957
250k
            digits_count += ranges::distance(it, *r);
3958
250k
            it = *r;
3959
250k
        }
3960
3961
250k
        m_integral_part_length = digits_count;
3962
250k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
250k
                                             m_locale_options.decimal_point)) {
3964
44.8k
            it = *r;
3965
44.8k
        }
3966
3967
250k
        if (auto r =
3968
250k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
40.8k
            digits_count += ranges::distance(it, *r);
3970
40.8k
            it = *r;
3971
40.8k
        }
3972
3973
250k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
250k
        auto beg_exp_it = it;
3979
250k
        if (allowed_exp) {
3980
160k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
160k
        }
3982
250k
        if (required_exp && beg_exp_it == it) {
3983
10.4k
            return unexpected_scan_error(
3984
10.4k
                scan_error::invalid_scanned_value,
3985
10.4k
                "No exponent given to scientific float");
3986
10.4k
        }
3987
3988
240k
        m_kind =
3989
240k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
240k
        return it;
3992
250k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
381k
    {
3944
381k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
381k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
381k
        auto it = ranges::begin(range);
3948
381k
        std::ptrdiff_t digits_count = 0;
3949
3950
381k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
381k
            SCN_UNLIKELY(!r)) {
3952
132k
            return r.transform_error(
3953
132k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
132k
                                              "Invalid floating-point value"));
3955
132k
        }
3956
249k
        else {
3957
249k
            digits_count += ranges::distance(it, *r);
3958
249k
            it = *r;
3959
249k
        }
3960
3961
249k
        m_integral_part_length = digits_count;
3962
249k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
249k
                                             m_locale_options.decimal_point)) {
3964
1.01k
            it = *r;
3965
1.01k
        }
3966
3967
249k
        if (auto r =
3968
249k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
705
            digits_count += ranges::distance(it, *r);
3970
705
            it = *r;
3971
705
        }
3972
3973
249k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
249k
        auto beg_exp_it = it;
3979
249k
        if (allowed_exp) {
3980
199k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
199k
        }
3982
249k
        if (required_exp && beg_exp_it == it) {
3983
2.92k
            return unexpected_scan_error(
3984
2.92k
                scan_error::invalid_scanned_value,
3985
2.92k
                "No exponent given to scientific float");
3986
2.92k
        }
3987
3988
246k
        m_kind =
3989
246k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
246k
        return it;
3992
249k
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
114
    {
3944
114
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
114
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
114
        auto it = ranges::begin(range);
3948
114
        std::ptrdiff_t digits_count = 0;
3949
3950
114
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
114
            SCN_UNLIKELY(!r)) {
3952
114
            return r.transform_error(
3953
114
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
114
                                              "Invalid floating-point value"));
3955
114
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
180k
    {
3944
180k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
180k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
180k
        auto it = ranges::begin(range);
3948
180k
        std::ptrdiff_t digits_count = 0;
3949
3950
180k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
180k
            SCN_UNLIKELY(!r)) {
3952
71.8k
            return r.transform_error(
3953
71.8k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
71.8k
                                              "Invalid floating-point value"));
3955
71.8k
        }
3956
108k
        else {
3957
108k
            digits_count += ranges::distance(it, *r);
3958
108k
            it = *r;
3959
108k
        }
3960
3961
108k
        m_integral_part_length = digits_count;
3962
108k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
108k
                                             m_locale_options.decimal_point)) {
3964
492
            it = *r;
3965
492
        }
3966
3967
108k
        if (auto r =
3968
108k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
330
            digits_count += ranges::distance(it, *r);
3970
330
            it = *r;
3971
330
        }
3972
3973
108k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
108k
        auto beg_exp_it = it;
3979
108k
        if (allowed_exp) {
3980
59.2k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
59.2k
        }
3982
108k
        if (required_exp && beg_exp_it == it) {
3983
2.92k
            return unexpected_scan_error(
3984
2.92k
                scan_error::invalid_scanned_value,
3985
2.92k
                "No exponent given to scientific float");
3986
2.92k
        }
3987
3988
105k
        m_kind =
3989
105k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
105k
        return it;
3992
108k
    }
3993
3994
    template <typename Range, typename ReadRegular, typename ReadHex>
3995
    auto do_read_source_impl(Range range,
3996
                             ReadRegular&& read_regular,
3997
                             ReadHex&& read_hex)
3998
        -> scan_expected<ranges::const_iterator_t<Range>>
3999
3.02M
    {
4000
3.02M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
3.02M
        const bool allowed_nonhex =
4002
3.02M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
3.02M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
3.02M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
3.02M
        else if (r) {
4011
21.7k
            return *r;
4012
21.7k
        }
4013
4014
2.99M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
2.22k
            return unexpected(r.error());
4016
2.22k
        }
4017
2.99M
        else if (r) {
4018
90.6k
            return *r;
4019
90.6k
        }
4020
4021
2.90M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
597k
            auto it = range.begin();
4025
4026
597k
            if (auto r = read_hex_prefix(range)) {
4027
20.1k
                m_kind = float_kind::hex_with_prefix;
4028
20.1k
                it = *r;
4029
20.1k
            }
4030
577k
            else {
4031
577k
                m_kind = float_kind::hex_without_prefix;
4032
577k
            }
4033
4034
597k
            return read_hex(ranges::subrange{it, range.end()});
4035
597k
        }
4036
2.30M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
943k
            m_kind = float_kind::generic;
4040
943k
            return read_regular_float(range);
4041
943k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.36M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
47.0k
            m_kind = float_kind::hex_with_prefix;
4048
47.0k
            return read_hex(ranges::subrange{*r, range.end()});
4049
47.0k
        }
4050
4051
1.31M
        m_kind = float_kind::generic;
4052
1.31M
        return read_regular(range);
4053
1.36M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
1.10M
    {
4000
1.10M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
1.10M
        const bool allowed_nonhex =
4002
1.10M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
1.10M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
1.10M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
1.10M
        else if (r) {
4011
11.0k
            return *r;
4012
11.0k
        }
4013
4014
1.09M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.11k
            return unexpected(r.error());
4016
1.11k
        }
4017
1.09M
        else if (r) {
4018
45.7k
            return *r;
4019
45.7k
        }
4020
4021
1.05M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
231k
            auto it = range.begin();
4025
4026
231k
            if (auto r = read_hex_prefix(range)) {
4027
10.3k
                m_kind = float_kind::hex_with_prefix;
4028
10.3k
                it = *r;
4029
10.3k
            }
4030
221k
            else {
4031
221k
                m_kind = float_kind::hex_without_prefix;
4032
221k
            }
4033
4034
231k
            return read_hex(ranges::subrange{it, range.end()});
4035
231k
        }
4036
819k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
310k
            m_kind = float_kind::generic;
4040
310k
            return read_regular_float(range);
4041
310k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
508k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
23.0k
            m_kind = float_kind::hex_with_prefix;
4048
23.0k
            return read_hex(ranges::subrange{*r, range.end()});
4049
23.0k
        }
4050
4051
485k
        m_kind = float_kind::generic;
4052
485k
        return read_regular(range);
4053
508k
    }
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
270
    {
4000
270
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
270
        const bool allowed_nonhex =
4002
270
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
270
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
270
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
270
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
270
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
270
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
270
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
4
            auto it = range.begin();
4025
4026
4
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
4
            else {
4031
4
                m_kind = float_kind::hex_without_prefix;
4032
4
            }
4033
4034
4
            return read_hex(ranges::subrange{it, range.end()});
4035
4
        }
4036
266
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
18
            m_kind = float_kind::generic;
4040
18
            return read_regular_float(range);
4041
18
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
248
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
248
        m_kind = float_kind::generic;
4052
248
        return read_regular(range);
4053
248
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
976k
    {
4000
976k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
976k
        const bool allowed_nonhex =
4002
976k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
976k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
976k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
976k
        else if (r) {
4011
10.6k
            return *r;
4012
10.6k
        }
4013
4014
965k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.10k
            return unexpected(r.error());
4016
1.10k
        }
4017
964k
        else if (r) {
4018
44.9k
            return *r;
4019
44.9k
        }
4020
4021
919k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
195k
            auto it = range.begin();
4025
4026
195k
            if (auto r = read_hex_prefix(range)) {
4027
9.54k
                m_kind = float_kind::hex_with_prefix;
4028
9.54k
                it = *r;
4029
9.54k
            }
4030
186k
            else {
4031
186k
                m_kind = float_kind::hex_without_prefix;
4032
186k
            }
4033
4034
195k
            return read_hex(ranges::subrange{it, range.end()});
4035
195k
        }
4036
724k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
272k
            m_kind = float_kind::generic;
4040
272k
            return read_regular_float(range);
4041
272k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
451k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
23.2k
            m_kind = float_kind::hex_with_prefix;
4048
23.2k
            return read_hex(ranges::subrange{*r, range.end()});
4049
23.2k
        }
4050
4051
428k
        m_kind = float_kind::generic;
4052
428k
        return read_regular(range);
4053
451k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
467k
    {
4000
467k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
467k
        const bool allowed_nonhex =
4002
467k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
467k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
467k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
467k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
467k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
467k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
467k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
84.9k
            auto it = range.begin();
4025
4026
84.9k
            if (auto r = read_hex_prefix(range)) {
4027
156
                m_kind = float_kind::hex_with_prefix;
4028
156
                it = *r;
4029
156
            }
4030
84.8k
            else {
4031
84.8k
                m_kind = float_kind::hex_without_prefix;
4032
84.8k
            }
4033
4034
84.9k
            return read_hex(ranges::subrange{it, range.end()});
4035
84.9k
        }
4036
382k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
180k
            m_kind = float_kind::generic;
4040
180k
            return read_regular_float(range);
4041
180k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
201k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
365
            m_kind = float_kind::hex_with_prefix;
4048
365
            return read_hex(ranges::subrange{*r, range.end()});
4049
365
        }
4050
4051
201k
        m_kind = float_kind::generic;
4052
201k
        return read_regular(range);
4053
201k
    }
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
120
    {
4000
120
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
120
        const bool allowed_nonhex =
4002
120
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
120
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
120
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
120
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
120
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
120
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
120
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
6
            auto it = range.begin();
4025
4026
6
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
6
            else {
4031
6
                m_kind = float_kind::hex_without_prefix;
4032
6
            }
4033
4034
6
            return read_hex(ranges::subrange{it, range.end()});
4035
6
        }
4036
114
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
8
            m_kind = float_kind::generic;
4040
8
            return read_regular_float(range);
4041
8
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
106
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
106
        m_kind = float_kind::generic;
4052
106
        return read_regular(range);
4053
106
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
468k
    {
4000
468k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
468k
        const bool allowed_nonhex =
4002
468k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
468k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
468k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
468k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
468k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
468k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
468k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
85.0k
            auto it = range.begin();
4025
4026
85.0k
            if (auto r = read_hex_prefix(range)) {
4027
156
                m_kind = float_kind::hex_with_prefix;
4028
156
                it = *r;
4029
156
            }
4030
84.9k
            else {
4031
84.9k
                m_kind = float_kind::hex_without_prefix;
4032
84.9k
            }
4033
4034
85.0k
            return read_hex(ranges::subrange{it, range.end()});
4035
85.0k
        }
4036
383k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
180k
            m_kind = float_kind::generic;
4040
180k
            return read_regular_float(range);
4041
180k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
202k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
365
            m_kind = float_kind::hex_with_prefix;
4048
365
            return read_hex(ranges::subrange{*r, range.end()});
4049
365
        }
4050
4051
202k
        m_kind = float_kind::generic;
4052
202k
        return read_regular(range);
4053
202k
    }
4054
4055
    void handle_separators()
4056
2.69M
    {
4057
2.69M
        if (m_locale_options.thousands_sep == 0 &&
4058
2.69M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
2.69M
            return;
4060
2.69M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<char>::handle_separators()
Line
Count
Source
4056
1.99M
    {
4057
1.99M
        if (m_locale_options.thousands_sep == 0 &&
4058
1.99M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
1.99M
            return;
4060
1.99M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4056
699k
    {
4057
699k
        if (m_locale_options.thousands_sep == 0 &&
4058
699k
            m_locale_options.decimal_point == CharT{'.'}) {
4059
699k
            return;
4060
699k
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
4096
4097
    template <typename T>
4098
    T setsign(T value) const
4099
2.69M
    {
4100
2.69M
        if (m_sign == sign_type::minus_sign) {
4101
229k
            return std::copysign(value, T{-1.0});
4102
229k
        }
4103
2.46M
        return std::copysign(value, T{1.0});
4104
2.69M
    }
float scn::v3::impl::float_reader<char>::setsign<float>(float) const
Line
Count
Source
4099
645k
    {
4100
645k
        if (m_sign == sign_type::minus_sign) {
4101
73.3k
            return std::copysign(value, T{-1.0});
4102
73.3k
        }
4103
572k
        return std::copysign(value, T{1.0});
4104
645k
    }
float scn::v3::impl::float_reader<wchar_t>::setsign<float>(float) const
Line
Count
Source
4099
224k
    {
4100
224k
        if (m_sign == sign_type::minus_sign) {
4101
700
            return std::copysign(value, T{-1.0});
4102
700
        }
4103
223k
        return std::copysign(value, T{1.0});
4104
224k
    }
double scn::v3::impl::float_reader<char>::setsign<double>(double) const
Line
Count
Source
4099
670k
    {
4100
670k
        if (m_sign == sign_type::minus_sign) {
4101
75.8k
            return std::copysign(value, T{-1.0});
4102
75.8k
        }
4103
594k
        return std::copysign(value, T{1.0});
4104
670k
    }
double scn::v3::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4099
235k
    {
4100
235k
        if (m_sign == sign_type::minus_sign) {
4101
700
            return std::copysign(value, T{-1.0});
4102
700
        }
4103
235k
        return std::copysign(value, T{1.0});
4104
235k
    }
long double scn::v3::impl::float_reader<char>::setsign<long double>(long double) const
Line
Count
Source
4099
676k
    {
4100
676k
        if (m_sign == sign_type::minus_sign) {
4101
77.9k
            return std::copysign(value, T{-1.0});
4102
77.9k
        }
4103
598k
        return std::copysign(value, T{1.0});
4104
676k
    }
long double scn::v3::impl::float_reader<wchar_t>::setsign<long double>(long double) const
Line
Count
Source
4099
239k
    {
4100
239k
        if (m_sign == sign_type::minus_sign) {
4101
714
            return std::copysign(value, T{-1.0});
4102
714
        }
4103
239k
        return std::copysign(value, T{1.0});
4104
239k
    }
4105
4106
    template <typename T>
4107
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4108
4109
    localized_number_formatting_options<CharT> m_locale_options{};
4110
    std::string m_thsep_indices{};
4111
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4112
    std::ptrdiff_t m_integral_part_length{-1};
4113
    sign_type m_sign{sign_type::default_sign};
4114
    float_kind m_kind{float_kind::tbd};
4115
};
4116
4117
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4118
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4119
        -> scan_expected<std::ptrdiff_t>;
4120
4121
#if !SCN_DISABLE_TYPE_FLOAT
4122
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4123
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4124
#endif
4125
#if !SCN_DISABLE_TYPE_DOUBLE
4126
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4127
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4128
#endif
4129
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4130
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4131
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4132
#endif
4133
4134
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4135
4136
template <typename CharT>
4137
class reader_impl_for_float
4138
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4139
public:
4140
    constexpr reader_impl_for_float() = default;
4141
4142
    void check_specs_impl(const detail::format_specs& specs,
4143
                          reader_error_handler& eh)
4144
2.21M
    {
4145
2.21M
        detail::check_float_type_specs(specs, eh);
4146
2.21M
    }
scn::v3::impl::reader_impl_for_float<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
1.51M
    {
4145
1.51M
        detail::check_float_type_specs(specs, eh);
4146
1.51M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
699k
    {
4145
699k
        detail::check_float_type_specs(specs, eh);
4146
699k
    }
4147
4148
    template <typename Range, typename T>
4149
    auto read_default(Range range, T& value, detail::locale_ref loc)
4150
        -> scan_expected<ranges::const_iterator_t<Range>>
4151
842k
    {
4152
842k
        SCN_UNUSED(loc);
4153
4154
842k
        float_reader<CharT> rd{};
4155
842k
        return read_impl<Range>(
4156
842k
            range, rd,
4157
842k
            [](float_reader<CharT>& r, auto&&... args) {
4158
842k
                return r.read_source(SCN_FWD(args)...);
4159
842k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
92.8k
            [](float_reader<CharT>& r, auto&&... args) {
4158
92.8k
                return r.read_source(SCN_FWD(args)...);
4159
92.8k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
97.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
97.4k
                return r.read_source(SCN_FWD(args)...);
4159
97.4k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
98.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
98.4k
                return r.read_source(SCN_FWD(args)...);
4159
98.4k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
100k
            [](float_reader<CharT>& r, auto&&... args) {
4158
100k
                return r.read_source(SCN_FWD(args)...);
4159
100k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
104k
            [](float_reader<CharT>& r, auto&&... args) {
4158
104k
                return r.read_source(SCN_FWD(args)...);
4159
104k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
106k
            [](float_reader<CharT>& r, auto&&... args) {
4158
106k
                return r.read_source(SCN_FWD(args)...);
4159
106k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
38.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
38.3k
                return r.read_source(SCN_FWD(args)...);
4159
38.3k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
41.2k
            [](float_reader<CharT>& r, auto&&... args) {
4158
41.2k
                return r.read_source(SCN_FWD(args)...);
4159
41.2k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
41.9k
            [](float_reader<CharT>& r, auto&&... args) {
4158
41.9k
                return r.read_source(SCN_FWD(args)...);
4159
41.9k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
38.2k
            [](float_reader<CharT>& r, auto&&... args) {
4158
38.2k
                return r.read_source(SCN_FWD(args)...);
4159
38.2k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
40.7k
            [](float_reader<CharT>& r, auto&&... args) {
4158
40.7k
                return r.read_source(SCN_FWD(args)...);
4159
40.7k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
41.9k
            [](float_reader<CharT>& r, auto&&... args) {
4158
41.9k
                return r.read_source(SCN_FWD(args)...);
4159
41.9k
            },
4160
842k
            value);
4161
842k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
92.8k
    {
4152
92.8k
        SCN_UNUSED(loc);
4153
4154
92.8k
        float_reader<CharT> rd{};
4155
92.8k
        return read_impl<Range>(
4156
92.8k
            range, rd,
4157
92.8k
            [](float_reader<CharT>& r, auto&&... args) {
4158
92.8k
                return r.read_source(SCN_FWD(args)...);
4159
92.8k
            },
4160
92.8k
            value);
4161
92.8k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
97.4k
    {
4152
97.4k
        SCN_UNUSED(loc);
4153
4154
97.4k
        float_reader<CharT> rd{};
4155
97.4k
        return read_impl<Range>(
4156
97.4k
            range, rd,
4157
97.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
97.4k
                return r.read_source(SCN_FWD(args)...);
4159
97.4k
            },
4160
97.4k
            value);
4161
97.4k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
98.4k
    {
4152
98.4k
        SCN_UNUSED(loc);
4153
4154
98.4k
        float_reader<CharT> rd{};
4155
98.4k
        return read_impl<Range>(
4156
98.4k
            range, rd,
4157
98.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
98.4k
                return r.read_source(SCN_FWD(args)...);
4159
98.4k
            },
4160
98.4k
            value);
4161
98.4k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
100k
    {
4152
100k
        SCN_UNUSED(loc);
4153
4154
100k
        float_reader<CharT> rd{};
4155
100k
        return read_impl<Range>(
4156
100k
            range, rd,
4157
100k
            [](float_reader<CharT>& r, auto&&... args) {
4158
100k
                return r.read_source(SCN_FWD(args)...);
4159
100k
            },
4160
100k
            value);
4161
100k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
104k
    {
4152
104k
        SCN_UNUSED(loc);
4153
4154
104k
        float_reader<CharT> rd{};
4155
104k
        return read_impl<Range>(
4156
104k
            range, rd,
4157
104k
            [](float_reader<CharT>& r, auto&&... args) {
4158
104k
                return r.read_source(SCN_FWD(args)...);
4159
104k
            },
4160
104k
            value);
4161
104k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
106k
    {
4152
106k
        SCN_UNUSED(loc);
4153
4154
106k
        float_reader<CharT> rd{};
4155
106k
        return read_impl<Range>(
4156
106k
            range, rd,
4157
106k
            [](float_reader<CharT>& r, auto&&... args) {
4158
106k
                return r.read_source(SCN_FWD(args)...);
4159
106k
            },
4160
106k
            value);
4161
106k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
38.3k
    {
4152
38.3k
        SCN_UNUSED(loc);
4153
4154
38.3k
        float_reader<CharT> rd{};
4155
38.3k
        return read_impl<Range>(
4156
38.3k
            range, rd,
4157
38.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
38.3k
                return r.read_source(SCN_FWD(args)...);
4159
38.3k
            },
4160
38.3k
            value);
4161
38.3k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
41.2k
    {
4152
41.2k
        SCN_UNUSED(loc);
4153
4154
41.2k
        float_reader<CharT> rd{};
4155
41.2k
        return read_impl<Range>(
4156
41.2k
            range, rd,
4157
41.2k
            [](float_reader<CharT>& r, auto&&... args) {
4158
41.2k
                return r.read_source(SCN_FWD(args)...);
4159
41.2k
            },
4160
41.2k
            value);
4161
41.2k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
41.9k
    {
4152
41.9k
        SCN_UNUSED(loc);
4153
4154
41.9k
        float_reader<CharT> rd{};
4155
41.9k
        return read_impl<Range>(
4156
41.9k
            range, rd,
4157
41.9k
            [](float_reader<CharT>& r, auto&&... args) {
4158
41.9k
                return r.read_source(SCN_FWD(args)...);
4159
41.9k
            },
4160
41.9k
            value);
4161
41.9k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
38.2k
    {
4152
38.2k
        SCN_UNUSED(loc);
4153
4154
38.2k
        float_reader<CharT> rd{};
4155
38.2k
        return read_impl<Range>(
4156
38.2k
            range, rd,
4157
38.2k
            [](float_reader<CharT>& r, auto&&... args) {
4158
38.2k
                return r.read_source(SCN_FWD(args)...);
4159
38.2k
            },
4160
38.2k
            value);
4161
38.2k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
40.7k
    {
4152
40.7k
        SCN_UNUSED(loc);
4153
4154
40.7k
        float_reader<CharT> rd{};
4155
40.7k
        return read_impl<Range>(
4156
40.7k
            range, rd,
4157
40.7k
            [](float_reader<CharT>& r, auto&&... args) {
4158
40.7k
                return r.read_source(SCN_FWD(args)...);
4159
40.7k
            },
4160
40.7k
            value);
4161
40.7k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
41.9k
    {
4152
41.9k
        SCN_UNUSED(loc);
4153
4154
41.9k
        float_reader<CharT> rd{};
4155
41.9k
        return read_impl<Range>(
4156
41.9k
            range, rd,
4157
41.9k
            [](float_reader<CharT>& r, auto&&... args) {
4158
41.9k
                return r.read_source(SCN_FWD(args)...);
4159
41.9k
            },
4160
41.9k
            value);
4161
41.9k
    }
4162
4163
    template <typename Range, typename T>
4164
    auto read_specs(Range range,
4165
                    const detail::format_specs& specs,
4166
                    T& value,
4167
                    detail::locale_ref loc)
4168
        -> scan_expected<ranges::const_iterator_t<Range>>
4169
2.17M
    {
4170
2.17M
        float_reader<CharT> rd{get_options(specs)};
4171
4172
2.17M
#if !SCN_DISABLE_LOCALE
4173
2.17M
        if (specs.localized) {
4174
580k
            return read_impl<Range>(
4175
580k
                range, rd,
4176
580k
                [](float_reader<CharT>& r, auto&&... args) {
4177
580k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
580k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
72.8k
                [](float_reader<CharT>& r, auto&&... args) {
4177
72.8k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
72.8k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
61.8k
                [](float_reader<CharT>& r, auto&&... args) {
4177
61.8k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
61.8k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
76.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
76.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
76.5k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
64.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
64.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
64.5k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
77.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
77.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
77.6k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
65.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
65.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
65.6k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
25.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
25.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
25.5k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
25.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
25.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
25.5k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
27.1k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.1k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
27.2k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.2k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.2k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
27.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
27.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.9k
                },
4179
580k
                value, loc);
4180
580k
        }
4181
1.59M
#endif
4182
4183
1.59M
        return read_impl<Range>(
4184
1.59M
            range, rd,
4185
1.59M
            [](float_reader<CharT>& r, auto&&... args) {
4186
1.59M
                return r.read_source(SCN_FWD(args)...);
4187
1.59M
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
185k
            [](float_reader<CharT>& r, auto&&... args) {
4186
185k
                return r.read_source(SCN_FWD(args)...);
4187
185k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
161k
            [](float_reader<CharT>& r, auto&&... args) {
4186
161k
                return r.read_source(SCN_FWD(args)...);
4187
161k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
191k
            [](float_reader<CharT>& r, auto&&... args) {
4186
191k
                return r.read_source(SCN_FWD(args)...);
4187
191k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
262
            [](float_reader<CharT>& r, auto&&... args) {
4186
262
                return r.read_source(SCN_FWD(args)...);
4187
262
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
166k
            [](float_reader<CharT>& r, auto&&... args) {
4186
166k
                return r.read_source(SCN_FWD(args)...);
4187
166k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
193k
            [](float_reader<CharT>& r, auto&&... args) {
4186
193k
                return r.read_source(SCN_FWD(args)...);
4187
193k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
167k
            [](float_reader<CharT>& r, auto&&... args) {
4186
167k
                return r.read_source(SCN_FWD(args)...);
4187
167k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
87.0k
            [](float_reader<CharT>& r, auto&&... args) {
4186
87.0k
                return r.read_source(SCN_FWD(args)...);
4187
87.0k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
87.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
87.1k
                return r.read_source(SCN_FWD(args)...);
4187
87.1k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
88.7k
            [](float_reader<CharT>& r, auto&&... args) {
4186
88.7k
                return r.read_source(SCN_FWD(args)...);
4187
88.7k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
114
            [](float_reader<CharT>& r, auto&&... args) {
4186
114
                return r.read_source(SCN_FWD(args)...);
4187
114
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
89.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
89.1k
                return r.read_source(SCN_FWD(args)...);
4187
89.1k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
89.5k
            [](float_reader<CharT>& r, auto&&... args) {
4186
89.5k
                return r.read_source(SCN_FWD(args)...);
4187
89.5k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
89.6k
            [](float_reader<CharT>& r, auto&&... args) {
4186
89.6k
                return r.read_source(SCN_FWD(args)...);
4187
89.6k
            },
4188
1.59M
            value);
4189
2.17M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
258k
    {
4170
258k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
258k
#if !SCN_DISABLE_LOCALE
4173
258k
        if (specs.localized) {
4174
72.8k
            return read_impl<Range>(
4175
72.8k
                range, rd,
4176
72.8k
                [](float_reader<CharT>& r, auto&&... args) {
4177
72.8k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
72.8k
                },
4179
72.8k
                value, loc);
4180
72.8k
        }
4181
185k
#endif
4182
4183
185k
        return read_impl<Range>(
4184
185k
            range, rd,
4185
185k
            [](float_reader<CharT>& r, auto&&... args) {
4186
185k
                return r.read_source(SCN_FWD(args)...);
4187
185k
            },
4188
185k
            value);
4189
258k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
223k
    {
4170
223k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
223k
#if !SCN_DISABLE_LOCALE
4173
223k
        if (specs.localized) {
4174
61.8k
            return read_impl<Range>(
4175
61.8k
                range, rd,
4176
61.8k
                [](float_reader<CharT>& r, auto&&... args) {
4177
61.8k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
61.8k
                },
4179
61.8k
                value, loc);
4180
61.8k
        }
4181
161k
#endif
4182
4183
161k
        return read_impl<Range>(
4184
161k
            range, rd,
4185
161k
            [](float_reader<CharT>& r, auto&&... args) {
4186
161k
                return r.read_source(SCN_FWD(args)...);
4187
161k
            },
4188
161k
            value);
4189
223k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
268k
    {
4170
268k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
268k
#if !SCN_DISABLE_LOCALE
4173
268k
        if (specs.localized) {
4174
76.5k
            return read_impl<Range>(
4175
76.5k
                range, rd,
4176
76.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
76.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
76.5k
                },
4179
76.5k
                value, loc);
4180
76.5k
        }
4181
191k
#endif
4182
4183
191k
        return read_impl<Range>(
4184
191k
            range, rd,
4185
191k
            [](float_reader<CharT>& r, auto&&... args) {
4186
191k
                return r.read_source(SCN_FWD(args)...);
4187
191k
            },
4188
191k
            value);
4189
268k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
270
    {
4170
270
        float_reader<CharT> rd{get_options(specs)};
4171
4172
270
#if !SCN_DISABLE_LOCALE
4173
270
        if (specs.localized) {
4174
8
            return read_impl<Range>(
4175
8
                range, rd,
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
4179
8
                value, loc);
4180
8
        }
4181
262
#endif
4182
4183
262
        return read_impl<Range>(
4184
262
            range, rd,
4185
262
            [](float_reader<CharT>& r, auto&&... args) {
4186
262
                return r.read_source(SCN_FWD(args)...);
4187
262
            },
4188
262
            value);
4189
270
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
231k
    {
4170
231k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
231k
#if !SCN_DISABLE_LOCALE
4173
231k
        if (specs.localized) {
4174
64.5k
            return read_impl<Range>(
4175
64.5k
                range, rd,
4176
64.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
64.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
64.5k
                },
4179
64.5k
                value, loc);
4180
64.5k
        }
4181
166k
#endif
4182
4183
166k
        return read_impl<Range>(
4184
166k
            range, rd,
4185
166k
            [](float_reader<CharT>& r, auto&&... args) {
4186
166k
                return r.read_source(SCN_FWD(args)...);
4187
166k
            },
4188
166k
            value);
4189
231k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
270k
    {
4170
270k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
270k
#if !SCN_DISABLE_LOCALE
4173
270k
        if (specs.localized) {
4174
77.6k
            return read_impl<Range>(
4175
77.6k
                range, rd,
4176
77.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
77.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
77.6k
                },
4179
77.6k
                value, loc);
4180
77.6k
        }
4181
193k
#endif
4182
4183
193k
        return read_impl<Range>(
4184
193k
            range, rd,
4185
193k
            [](float_reader<CharT>& r, auto&&... args) {
4186
193k
                return r.read_source(SCN_FWD(args)...);
4187
193k
            },
4188
193k
            value);
4189
270k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
233k
    {
4170
233k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
233k
#if !SCN_DISABLE_LOCALE
4173
233k
        if (specs.localized) {
4174
65.6k
            return read_impl<Range>(
4175
65.6k
                range, rd,
4176
65.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
65.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
65.6k
                },
4179
65.6k
                value, loc);
4180
65.6k
        }
4181
167k
#endif
4182
4183
167k
        return read_impl<Range>(
4184
167k
            range, rd,
4185
167k
            [](float_reader<CharT>& r, auto&&... args) {
4186
167k
                return r.read_source(SCN_FWD(args)...);
4187
167k
            },
4188
167k
            value);
4189
233k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
112k
    {
4170
112k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
112k
#if !SCN_DISABLE_LOCALE
4173
112k
        if (specs.localized) {
4174
25.5k
            return read_impl<Range>(
4175
25.5k
                range, rd,
4176
25.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
25.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
25.5k
                },
4179
25.5k
                value, loc);
4180
25.5k
        }
4181
87.0k
#endif
4182
4183
87.0k
        return read_impl<Range>(
4184
87.0k
            range, rd,
4185
87.0k
            [](float_reader<CharT>& r, auto&&... args) {
4186
87.0k
                return r.read_source(SCN_FWD(args)...);
4187
87.0k
            },
4188
87.0k
            value);
4189
112k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
112k
    {
4170
112k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
112k
#if !SCN_DISABLE_LOCALE
4173
112k
        if (specs.localized) {
4174
25.5k
            return read_impl<Range>(
4175
25.5k
                range, rd,
4176
25.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
25.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
25.5k
                },
4179
25.5k
                value, loc);
4180
25.5k
        }
4181
87.1k
#endif
4182
4183
87.1k
        return read_impl<Range>(
4184
87.1k
            range, rd,
4185
87.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
87.1k
                return r.read_source(SCN_FWD(args)...);
4187
87.1k
            },
4188
87.1k
            value);
4189
112k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
115k
    {
4170
115k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
115k
#if !SCN_DISABLE_LOCALE
4173
115k
        if (specs.localized) {
4174
27.1k
            return read_impl<Range>(
4175
27.1k
                range, rd,
4176
27.1k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.1k
                },
4179
27.1k
                value, loc);
4180
27.1k
        }
4181
88.7k
#endif
4182
4183
88.7k
        return read_impl<Range>(
4184
88.7k
            range, rd,
4185
88.7k
            [](float_reader<CharT>& r, auto&&... args) {
4186
88.7k
                return r.read_source(SCN_FWD(args)...);
4187
88.7k
            },
4188
88.7k
            value);
4189
115k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
120
    {
4170
120
        float_reader<CharT> rd{get_options(specs)};
4171
4172
120
#if !SCN_DISABLE_LOCALE
4173
120
        if (specs.localized) {
4174
6
            return read_impl<Range>(
4175
6
                range, rd,
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
4179
6
                value, loc);
4180
6
        }
4181
114
#endif
4182
4183
114
        return read_impl<Range>(
4184
114
            range, rd,
4185
114
            [](float_reader<CharT>& r, auto&&... args) {
4186
114
                return r.read_source(SCN_FWD(args)...);
4187
114
            },
4188
114
            value);
4189
120
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
116k
    {
4170
116k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
116k
#if !SCN_DISABLE_LOCALE
4173
116k
        if (specs.localized) {
4174
27.2k
            return read_impl<Range>(
4175
27.2k
                range, rd,
4176
27.2k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.2k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.2k
                },
4179
27.2k
                value, loc);
4180
27.2k
        }
4181
89.1k
#endif
4182
4183
89.1k
        return read_impl<Range>(
4184
89.1k
            range, rd,
4185
89.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
89.1k
                return r.read_source(SCN_FWD(args)...);
4187
89.1k
            },
4188
89.1k
            value);
4189
116k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
117k
    {
4170
117k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
117k
#if !SCN_DISABLE_LOCALE
4173
117k
        if (specs.localized) {
4174
27.9k
            return read_impl<Range>(
4175
27.9k
                range, rd,
4176
27.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.9k
                },
4179
27.9k
                value, loc);
4180
27.9k
        }
4181
89.5k
#endif
4182
4183
89.5k
        return read_impl<Range>(
4184
89.5k
            range, rd,
4185
89.5k
            [](float_reader<CharT>& r, auto&&... args) {
4186
89.5k
                return r.read_source(SCN_FWD(args)...);
4187
89.5k
            },
4188
89.5k
            value);
4189
117k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
117k
    {
4170
117k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
117k
#if !SCN_DISABLE_LOCALE
4173
117k
        if (specs.localized) {
4174
27.9k
            return read_impl<Range>(
4175
27.9k
                range, rd,
4176
27.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
27.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
27.9k
                },
4179
27.9k
                value, loc);
4180
27.9k
        }
4181
89.6k
#endif
4182
4183
89.6k
        return read_impl<Range>(
4184
89.6k
            range, rd,
4185
89.6k
            [](float_reader<CharT>& r, auto&&... args) {
4186
89.6k
                return r.read_source(SCN_FWD(args)...);
4187
89.6k
            },
4188
89.6k
            value);
4189
117k
    }
4190
4191
private:
4192
    template <typename Range>
4193
    using read_source_callback_type =
4194
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4195
                                                       Range,
4196
                                                       detail::locale_ref);
4197
4198
    template <typename Range, typename T>
4199
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4200
        Range range,
4201
        float_reader<CharT>& rd,
4202
        function_ref<read_source_callback_type<Range>> read_source_cb,
4203
        T& value,
4204
        detail::locale_ref loc = {})
4205
3.02M
    {
4206
3.02M
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
3.02M
            SCN_UNLIKELY(!r)) {
4208
329k
            return unexpected(r.error());
4209
329k
        }
4210
4211
2.69M
        SCN_TRY(n, rd.parse_value(value));
4212
2.56M
        return ranges::next(range.begin(), n);
4213
2.69M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
359k
    {
4206
359k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
359k
            SCN_UNLIKELY(!r)) {
4208
19.0k
            return unexpected(r.error());
4209
19.0k
        }
4210
4211
340k
        SCN_TRY(n, rd.parse_value(value));
4212
337k
        return ranges::next(range.begin(), n);
4213
340k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
316k
    {
4206
316k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
316k
            SCN_UNLIKELY(!r)) {
4208
11.0k
            return unexpected(r.error());
4209
11.0k
        }
4210
4211
305k
        SCN_TRY(n, rd.parse_value(value));
4212
293k
        return ranges::next(range.begin(), n);
4213
305k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
373k
    {
4206
373k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
373k
            SCN_UNLIKELY(!r)) {
4208
19.9k
            return unexpected(r.error());
4209
19.9k
        }
4210
4211
353k
        SCN_TRY(n, rd.parse_value(value));
4212
351k
        return ranges::next(range.begin(), n);
4213
353k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
270
    {
4206
270
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
270
            SCN_UNLIKELY(!r)) {
4208
270
            return unexpected(r.error());
4209
270
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
328k
    {
4206
328k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
328k
            SCN_UNLIKELY(!r)) {
4208
11.3k
            return unexpected(r.error());
4209
11.3k
        }
4210
4211
317k
        SCN_TRY(n, rd.parse_value(value));
4212
305k
        return ranges::next(range.begin(), n);
4213
317k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
376k
    {
4206
376k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
376k
            SCN_UNLIKELY(!r)) {
4208
20.6k
            return unexpected(r.error());
4209
20.6k
        }
4210
4211
356k
        SCN_TRY(n, rd.parse_value(value));
4212
355k
        return ranges::next(range.begin(), n);
4213
356k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
331k
    {
4206
331k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
331k
            SCN_UNLIKELY(!r)) {
4208
11.5k
            return unexpected(r.error());
4209
11.5k
        }
4210
4211
319k
        SCN_TRY(n, rd.parse_value(value));
4212
309k
        return ranges::next(range.begin(), n);
4213
319k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
150k
    {
4206
150k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
150k
            SCN_UNLIKELY(!r)) {
4208
52.8k
            return unexpected(r.error());
4209
52.8k
        }
4210
4211
98.0k
        SCN_TRY(n, rd.parse_value(value));
4212
96.6k
        return ranges::next(range.begin(), n);
4213
98.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
150k
    {
4206
150k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
150k
            SCN_UNLIKELY(!r)) {
4208
24.7k
            return unexpected(r.error());
4209
24.7k
        }
4210
4211
126k
        SCN_TRY(n, rd.parse_value(value));
4212
96.7k
        return ranges::next(range.begin(), n);
4213
126k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
156k
    {
4206
156k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
156k
            SCN_UNLIKELY(!r)) {
4208
53.4k
            return unexpected(r.error());
4209
53.4k
        }
4210
4211
103k
        SCN_TRY(n, rd.parse_value(value));
4212
102k
        return ranges::next(range.begin(), n);
4213
103k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
120
    {
4206
120
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
120
            SCN_UNLIKELY(!r)) {
4208
120
            return unexpected(r.error());
4209
120
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
157k
    {
4206
157k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
157k
            SCN_UNLIKELY(!r)) {
4208
24.9k
            return unexpected(r.error());
4209
24.9k
        }
4210
4211
132k
        SCN_TRY(n, rd.parse_value(value));
4212
102k
        return ranges::next(range.begin(), n);
4213
132k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
159k
    {
4206
159k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
159k
            SCN_UNLIKELY(!r)) {
4208
54.0k
            return unexpected(r.error());
4209
54.0k
        }
4210
4211
105k
        SCN_TRY(n, rd.parse_value(value));
4212
105k
        return ranges::next(range.begin(), n);
4213
105k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
159k
    {
4206
159k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
159k
            SCN_UNLIKELY(!r)) {
4208
25.1k
            return unexpected(r.error());
4209
25.1k
        }
4210
4211
134k
        SCN_TRY(n, rd.parse_value(value));
4212
105k
        return ranges::next(range.begin(), n);
4213
134k
    }
4214
4215
    static unsigned get_options(const detail::format_specs& specs)
4216
2.17M
    {
4217
2.17M
        unsigned options{};
4218
2.17M
        if (specs.localized) {
4219
580k
            options |= float_reader_base::allow_thsep;
4220
580k
        }
4221
4222
2.17M
        SCN_GCC_COMPAT_PUSH
4223
2.17M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
2.17M
        switch (specs.type) {
4226
366k
            case detail::presentation_type::float_fixed:
4227
366k
                return options | float_reader_base::allow_fixed;
4228
4229
91.0k
            case detail::presentation_type::float_scientific:
4230
91.0k
                return options | float_reader_base::allow_scientific;
4231
4232
622k
            case detail::presentation_type::float_hex:
4233
622k
                return options | float_reader_base::allow_hex;
4234
4235
516k
            case detail::presentation_type::float_general:
4236
516k
                return options | float_reader_base::allow_scientific |
4237
516k
                       float_reader_base::allow_fixed;
4238
4239
581k
            case detail::presentation_type::none:
4240
581k
                return options | float_reader_base::allow_scientific |
4241
581k
                       float_reader_base::allow_fixed |
4242
581k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
2.17M
                SCN_UNREACHABLE;
4247
2.17M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
2.17M
    }
scn::v3::impl::reader_impl_for_float<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
1.48M
    {
4217
1.48M
        unsigned options{};
4218
1.48M
        if (specs.localized) {
4219
419k
            options |= float_reader_base::allow_thsep;
4220
419k
        }
4221
4222
1.48M
        SCN_GCC_COMPAT_PUSH
4223
1.48M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
1.48M
        switch (specs.type) {
4226
217k
            case detail::presentation_type::float_fixed:
4227
217k
                return options | float_reader_base::allow_fixed;
4228
4229
39.3k
            case detail::presentation_type::float_scientific:
4230
39.3k
                return options | float_reader_base::allow_scientific;
4231
4232
452k
            case detail::presentation_type::float_hex:
4233
452k
                return options | float_reader_base::allow_hex;
4234
4235
356k
            case detail::presentation_type::float_general:
4236
356k
                return options | float_reader_base::allow_scientific |
4237
356k
                       float_reader_base::allow_fixed;
4238
4239
419k
            case detail::presentation_type::none:
4240
419k
                return options | float_reader_base::allow_scientific |
4241
419k
                       float_reader_base::allow_fixed |
4242
419k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
1.48M
                SCN_UNREACHABLE;
4247
1.48M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
1.48M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
692k
    {
4217
692k
        unsigned options{};
4218
692k
        if (specs.localized) {
4219
161k
            options |= float_reader_base::allow_thsep;
4220
161k
        }
4221
4222
692k
        SCN_GCC_COMPAT_PUSH
4223
692k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
692k
        switch (specs.type) {
4226
148k
            case detail::presentation_type::float_fixed:
4227
148k
                return options | float_reader_base::allow_fixed;
4228
4229
51.7k
            case detail::presentation_type::float_scientific:
4230
51.7k
                return options | float_reader_base::allow_scientific;
4231
4232
170k
            case detail::presentation_type::float_hex:
4233
170k
                return options | float_reader_base::allow_hex;
4234
4235
160k
            case detail::presentation_type::float_general:
4236
160k
                return options | float_reader_base::allow_scientific |
4237
160k
                       float_reader_base::allow_fixed;
4238
4239
161k
            case detail::presentation_type::none:
4240
161k
                return options | float_reader_base::allow_scientific |
4241
161k
                       float_reader_base::allow_fixed |
4242
161k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
692k
                SCN_UNREACHABLE;
4247
692k
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
692k
    }
4251
};
4252
4253
/////////////////////////////////////////////////////////////////
4254
// Regex reader
4255
/////////////////////////////////////////////////////////////////
4256
4257
// Forward declaration for C++17 compatibility with regex disabled
4258
template <typename CharT, typename Input>
4259
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4260
                             detail::regex_flags flags,
4261
                             Input input,
4262
                             basic_regex_matches<CharT>& value)
4263
    -> scan_expected<ranges::iterator_t<Input>>;
4264
4265
#if !SCN_DISABLE_REGEX
4266
4267
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4268
constexpr auto make_regex_flags(detail::regex_flags flags)
4269
    -> scan_expected<std::regex_constants::syntax_option_type>
4270
16.2k
{
4271
16.2k
    std::regex_constants::syntax_option_type result{};
4272
16.2k
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4273
372
#if SCN_HAS_STD_REGEX_MULTILINE
4274
372
        result |= std::regex_constants::multiline;
4275
#else
4276
        return unexpected_scan_error(
4277
            scan_error::invalid_format_string,
4278
            "/m flag for regex isn't supported by regex backend");
4279
#endif
4280
372
    }
4281
16.2k
    if ((flags & detail::regex_flags::singleline) !=
4282
16.2k
        detail::regex_flags::none) {
4283
0
        return unexpected_scan_error(
4284
0
            scan_error::invalid_format_string,
4285
0
            "/s flag for regex isn't supported by regex backend");
4286
0
    }
4287
16.2k
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4288
2.07k
        result |= std::regex_constants::icase;
4289
2.07k
    }
4290
16.2k
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4291
12
        result |= std::regex_constants::nosubs;
4292
12
    }
4293
16.2k
    return result;
4294
16.2k
}
4295
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4296
constexpr auto make_regex_flags(detail::regex_flags flags)
4297
    -> boost::regex_constants::syntax_option_type
4298
{
4299
    boost::regex_constants::syntax_option_type result{};
4300
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4301
        result |= boost::regex_constants::no_mod_m;
4302
    }
4303
    if ((flags & detail::regex_flags::singleline) !=
4304
        detail::regex_flags::none) {
4305
        result |= boost::regex_constants::mod_s;
4306
    }
4307
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4308
        result |= boost::regex_constants::icase;
4309
    }
4310
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4311
        result |= boost::regex_constants::nosubs;
4312
    }
4313
    return result;
4314
}
4315
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4316
inline auto make_regex_flags(detail::regex_flags flags)
4317
    -> std::pair<RE2::Options, std::string_view>
4318
{
4319
    RE2::Options opt{RE2::Quiet};
4320
    std::string_view stringflags{};
4321
4322
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4323
        stringflags = "(?m)";
4324
    }
4325
    if ((flags & detail::regex_flags::singleline) !=
4326
        detail::regex_flags::none) {
4327
        opt.set_dot_nl(true);
4328
    }
4329
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4330
        opt.set_case_sensitive(false);
4331
    }
4332
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4333
        opt.set_never_capture(true);
4334
    }
4335
4336
    return {opt, stringflags};
4337
}
4338
#endif  // SCN_REGEX_BACKEND == ...
4339
4340
template <typename CharT, typename Input>
4341
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4342
                            detail::regex_flags flags,
4343
                            Input input)
4344
    -> scan_expected<ranges::iterator_t<Input>>
4345
16.2k
{
4346
16.2k
    static_assert(ranges::contiguous_range<Input> &&
4347
16.2k
                  ranges::borrowed_range<Input> &&
4348
16.2k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
16.2k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
16.2k
    std::basic_regex<CharT> re{};
4352
16.2k
    try {
4353
16.2k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
16.2k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
16.2k
                                     re_flags | std::regex_constants::nosubs};
4356
16.2k
    }
4357
16.2k
    catch (const std::regex_error& err) {
4358
8.10k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
8.10k
                                     "Invalid regex");
4360
8.10k
    }
4361
4362
8.17k
    std::match_results<const CharT*> matches{};
4363
8.17k
    try {
4364
8.17k
        bool found = std::regex_search(input.data(),
4365
8.17k
                                       input.data() + input.size(), matches, re,
4366
8.17k
                                       std::regex_constants::match_continuous);
4367
8.17k
        if (!found || matches.prefix().matched) {
4368
5.10k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
5.10k
                                         "Regular expression didn't match");
4370
5.10k
        }
4371
8.17k
    }
4372
8.17k
    catch (const std::regex_error& err) {
4373
252
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
252
                                     "Regex matching failed with an error");
4375
252
    }
4376
4377
2.81k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
8.17k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
10.7k
{
4346
10.7k
    static_assert(ranges::contiguous_range<Input> &&
4347
10.7k
                  ranges::borrowed_range<Input> &&
4348
10.7k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
10.7k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
10.7k
    std::basic_regex<CharT> re{};
4352
10.7k
    try {
4353
10.7k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
10.7k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
10.7k
                                     re_flags | std::regex_constants::nosubs};
4356
10.7k
    }
4357
10.7k
    catch (const std::regex_error& err) {
4358
5.94k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
5.94k
                                     "Invalid regex");
4360
5.94k
    }
4361
4362
4.77k
    std::match_results<const CharT*> matches{};
4363
4.77k
    try {
4364
4.77k
        bool found = std::regex_search(input.data(),
4365
4.77k
                                       input.data() + input.size(), matches, re,
4366
4.77k
                                       std::regex_constants::match_continuous);
4367
4.77k
        if (!found || matches.prefix().matched) {
4368
2.79k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.79k
                                         "Regular expression didn't match");
4370
2.79k
        }
4371
4.77k
    }
4372
4.77k
    catch (const std::regex_error& err) {
4373
246
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
246
                                     "Regex matching failed with an error");
4375
246
    }
4376
4377
1.72k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
4.77k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
5.56k
{
4346
5.56k
    static_assert(ranges::contiguous_range<Input> &&
4347
5.56k
                  ranges::borrowed_range<Input> &&
4348
5.56k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
5.56k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
5.56k
    std::basic_regex<CharT> re{};
4352
5.56k
    try {
4353
5.56k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
5.56k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
5.56k
                                     re_flags | std::regex_constants::nosubs};
4356
5.56k
    }
4357
5.56k
    catch (const std::regex_error& err) {
4358
2.16k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
2.16k
                                     "Invalid regex");
4360
2.16k
    }
4361
4362
3.40k
    std::match_results<const CharT*> matches{};
4363
3.40k
    try {
4364
3.40k
        bool found = std::regex_search(input.data(),
4365
3.40k
                                       input.data() + input.size(), matches, re,
4366
3.40k
                                       std::regex_constants::match_continuous);
4367
3.40k
        if (!found || matches.prefix().matched) {
4368
2.31k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.31k
                                         "Regular expression didn't match");
4370
2.31k
        }
4371
3.40k
    }
4372
3.40k
    catch (const std::regex_error& err) {
4373
6
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
6
                                     "Regex matching failed with an error");
4375
6
    }
4376
4377
1.08k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
3.40k
}
4448
4449
template <typename CharT, typename Input>
4450
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4451
                             detail::regex_flags flags,
4452
                             Input input,
4453
                             basic_regex_matches<CharT>& value)
4454
    -> scan_expected<ranges::iterator_t<Input>>
4455
0
{
4456
0
    static_assert(ranges::contiguous_range<Input> &&
4457
0
                  ranges::borrowed_range<Input> &&
4458
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4459
4460
0
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4461
0
    std::basic_regex<CharT> re{};
4462
0
    try {
4463
0
        SCN_TRY(re_flags, make_regex_flags(flags));
4464
0
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4465
0
    }
4466
0
    catch (const std::regex_error& err) {
4467
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4468
0
                                     "Invalid regex");
4469
0
    }
4470
4471
0
    std::match_results<const CharT*> matches{};
4472
0
    try {
4473
0
        bool found = std::regex_search(input.data(),
4474
0
                                       input.data() + input.size(), matches, re,
4475
0
                                       std::regex_constants::match_continuous);
4476
0
        if (!found || matches.prefix().matched) {
4477
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4478
0
                                         "Regular expression didn't match");
4479
0
        }
4480
0
    }
4481
0
    catch (const std::regex_error& err) {
4482
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4483
0
                                     "Regex matching failed with an error");
4484
0
    }
4485
4486
0
    value.resize(matches.size());
4487
0
    std::transform(matches.begin(), matches.end(), value.begin(),
4488
0
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4489
0
                       if (!match.matched)
4490
0
                           return std::nullopt;
4491
0
                       return detail::make_string_view_from_pointers(
4492
0
                           match.first, match.second);
4493
0
                   });
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKcEEEENS3_8optionalINS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIcEEEESQ_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKwEEEENS3_8optionalINS0_17basic_regex_matchIwEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIwEEEESQ_
4494
0
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4495
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4496
    std::vector<std::basic_string<CharT>> names;
4497
    for (size_t i = 0; i < pattern.size();) {
4498
        if constexpr (std::is_same_v<CharT, char>) {
4499
            i = pattern.find("(?<", i);
4500
        }
4501
        else {
4502
            i = pattern.find(L"(?<", i);
4503
        }
4504
4505
        if (i == std::basic_string_view<CharT>::npos) {
4506
            break;
4507
        }
4508
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4509
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4510
                i += 3;
4511
                continue;
4512
            }
4513
        }
4514
4515
        i += 3;
4516
        auto end_i = pattern.find(CharT{'>'}, i);
4517
        if (end_i == std::basic_string_view<CharT>::npos) {
4518
            break;
4519
        }
4520
        names.emplace_back(pattern.substr(i, end_i - i));
4521
    }
4522
4523
    auto re =
4524
#if SCN_REGEX_BOOST_USE_ICU
4525
        boost::make_u32regex(
4526
            pattern.data(), pattern.data() + pattern.size(),
4527
            make_regex_flags(flags) | boost::regex_constants::no_except);
4528
#else
4529
        boost::basic_regex<CharT>{
4530
            pattern.data(), pattern.size(),
4531
            make_regex_flags(flags) | boost::regex_constants::no_except};
4532
#endif
4533
    if (re.status() != 0) {
4534
        return unexpected_scan_error(scan_error::invalid_format_string,
4535
                                     "Invalid regex");
4536
    }
4537
4538
    boost::match_results<const CharT*> matches{};
4539
    try {
4540
        bool found =
4541
#if SCN_REGEX_BOOST_USE_ICU
4542
            boost::u32regex_search(input.data(), input.data() + input.size(),
4543
                                   matches, re,
4544
                                   boost::regex_constants::match_continuous);
4545
#else
4546
            boost::regex_search(input.data(), input.data() + input.size(),
4547
                                matches, re,
4548
                                boost::regex_constants::match_continuous);
4549
#endif
4550
        if (!found || matches.prefix().matched) {
4551
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4552
                                         "Regular expression didn't match");
4553
        }
4554
    }
4555
    catch (const std::runtime_error& err) {
4556
        return unexpected_scan_error(scan_error::invalid_format_string,
4557
                                     "Regex matching failed with an error");
4558
    }
4559
4560
    value.resize(matches.size());
4561
    std::transform(
4562
        matches.begin(), matches.end(), value.begin(),
4563
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4564
            if (!match.matched)
4565
                return std::nullopt;
4566
            auto sv = detail::make_string_view_from_pointers(match.first,
4567
                                                             match.second);
4568
4569
            if (auto name_it = std::find_if(
4570
                    names.begin(), names.end(),
4571
                    [&](const auto& name) { return match == matches[name]; });
4572
                name_it != names.end()) {
4573
                return basic_regex_match<CharT>{sv, *name_it};
4574
            }
4575
            return sv;
4576
        });
4577
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4578
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4579
    static_assert(std::is_same_v<CharT, char>);
4580
    std::string flagged_pattern{};
4581
    auto re = [&]() {
4582
        auto [opts, flagstr] = make_regex_flags(flags);
4583
        if (flagstr.empty()) {
4584
            return re2::RE2{pattern, opts};
4585
        }
4586
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4587
        flagged_pattern.append(flagstr);
4588
        flagged_pattern.append(pattern);
4589
        return re2::RE2{flagged_pattern, opts};
4590
    }();
4591
    if (!re.ok()) {
4592
        return unexpected_scan_error(scan_error::invalid_format_string,
4593
                                     "Failed to parse regular expression");
4594
    }
4595
    // TODO: Optimize into a single batch allocation
4596
    const auto max_matches_n =
4597
        static_cast<size_t>(re.NumberOfCapturingGroups());
4598
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4599
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4600
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4601
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4602
                   [](auto& val) { return re2::RE2::Arg{&val}; });
4603
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4604
                   [](auto& arg) { return &arg; });
4605
    auto new_input = detail::make_string_view_from_pointers(
4606
        detail::to_address(input.begin()), detail::to_address(input.end()));
4607
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4608
                                    match_argptrs.size());
4609
    if (!found) {
4610
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4611
                                     "Regular expression didn't match");
4612
    }
4613
    value.resize(matches.size() + 1);
4614
    value[0] =
4615
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4616
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4617
                   [&](auto&& match) -> std::optional<regex_match> {
4618
                       if (!match)
4619
                           return std::nullopt;
4620
                       return *match;
4621
                   });
4622
    {
4623
        const auto& capturing_groups = re.CapturingGroupNames();
4624
        for (size_t i = 1; i < value.size(); ++i) {
4625
            if (auto it = capturing_groups.find(static_cast<int>(i));
4626
                it != capturing_groups.end()) {
4627
                auto val = value[i]->get();
4628
                value[i].emplace(val, it->second);
4629
            };
4630
        }
4631
    }
4632
    return input.begin() + ranges::distance(input.data(), new_input.data());
4633
#endif  // SCN_REGEX_BACKEND == ...
4634
0
}
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4635
4636
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4637
1.09k
{
4638
1.09k
    std::string result{pattern};
4639
7.01k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4640
5.91k
        result.replace(n, 2, "/");
4641
5.91k
        ++n;
4642
5.91k
    }
4643
1.09k
    return result;
4644
1.09k
}
4645
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4646
192
{
4647
192
    std::wstring result{pattern};
4648
1.57k
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4649
1.38k
        result.replace(n, 2, L"/");
4650
1.38k
        ++n;
4651
1.38k
    }
4652
192
    return result;
4653
192
}
4654
4655
#endif  // !SCN_DISABLE_REGEX
4656
4657
template <typename SourceCharT>
4658
struct regex_matches_reader
4659
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4660
    void check_specs_impl(const detail::format_specs& specs,
4661
                          reader_error_handler& eh)
4662
0
    {
4663
0
        detail::check_regex_type_specs(specs, eh);
4664
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4665
0
        SCN_EXPECT(specs.charset_string_size > 0);
4666
0
    }
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
4667
4668
    template <typename Range, typename DestCharT>
4669
    auto read_default(Range,
4670
                      basic_regex_matches<DestCharT>&,
4671
                      detail::locale_ref = {})
4672
        -> scan_expected<ranges::const_iterator_t<Range>>
4673
0
    {
4674
0
        return unexpected_scan_error(
4675
0
            scan_error::invalid_format_string,
4676
0
            "No regex given in format string for scanning regex_matches");
4677
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
4678
4679
    template <typename Range, typename DestCharT>
4680
    auto read_specs(Range range,
4681
                    const detail::format_specs& specs,
4682
                    basic_regex_matches<DestCharT>& value,
4683
                    detail::locale_ref = {})
4684
        -> scan_expected<ranges::const_iterator_t<Range>>
4685
0
    {
4686
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4687
0
            return unexpected_scan_error(
4688
0
                scan_error::invalid_scanned_value,
4689
0
                "Cannot transcode is regex_matches_reader");
4690
0
        }
4691
0
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4692
0
                           !std::is_same_v<SourceCharT, char>) {
4693
0
            return unexpected_scan_error(
4694
0
                scan_error::invalid_scanned_value,
4695
0
                "Regex backend doesn't support wide strings as input");
4696
0
        }
4697
0
        else {
4698
0
            if (!is_entire_source_contiguous(range)) {
4699
0
                return unexpected_scan_error(
4700
0
                    scan_error::invalid_scanned_value,
4701
0
                    "Cannot use regex with a non-contiguous source "
4702
0
                    "range");
4703
0
            }
4704
4705
0
            auto input = get_as_contiguous(range);
4706
0
            SCN_TRY(it,
4707
0
                    impl(input,
4708
0
                         specs.type == detail::presentation_type::regex_escaped,
4709
0
                         specs.charset_string<SourceCharT>(),
4710
0
                         specs.regexp_flags, value));
4711
0
            return ranges::next(range.begin(),
4712
0
                                ranges::distance(input.begin(), it));
4713
0
        }
4714
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4715
4716
private:
4717
    template <typename Range, typename DestCharT>
4718
    auto impl(Range input,
4719
              bool is_escaped,
4720
              std::basic_string_view<SourceCharT> pattern,
4721
              detail::regex_flags flags,
4722
              basic_regex_matches<DestCharT>& value)
4723
0
    {
4724
0
        if constexpr (detail::is_type_disabled<
4725
0
                          basic_regex_matches<DestCharT>>) {
4726
0
            SCN_EXPECT(false);
4727
0
            SCN_UNREACHABLE;
4728
0
        }
4729
0
        else {
4730
0
            if (is_escaped) {
4731
0
                return read_regex_matches_impl<SourceCharT>(
4732
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4733
0
            }
4734
0
            return read_regex_matches_impl(pattern, flags, input, value);
4735
0
        }
4736
0
    }
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
4737
};
4738
4739
template <typename CharT>
4740
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4741
4742
/////////////////////////////////////////////////////////////////
4743
// String reader
4744
/////////////////////////////////////////////////////////////////
4745
4746
template <typename Range, typename Iterator, typename ValueCharT>
4747
auto read_string_impl(Range range,
4748
                      Iterator&& result,
4749
                      std::basic_string<ValueCharT>& value)
4750
    -> scan_expected<ranges::const_iterator_t<Range>>
4751
1.71M
{
4752
1.71M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.71M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.71M
    if (!validate_unicode(src.view())) {
4756
22.6k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
22.6k
                                     "Invalid encoding in scanned string");
4758
22.6k
    }
4759
1.69M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.69M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.69M
    return SCN_MOVE(result);
4765
1.69M
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
148k
{
4752
148k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
148k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
148k
    if (!validate_unicode(src.view())) {
4756
2.75k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
2.75k
                                     "Invalid encoding in scanned string");
4758
2.75k
    }
4759
145k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
145k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
145k
    return SCN_MOVE(result);
4765
145k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
838
{
4752
838
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
838
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
838
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
838
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
838
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
838
    return SCN_MOVE(result);
4765
838
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
332
{
4752
332
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
332
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
332
    if (!validate_unicode(src.view())) {
4756
118
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
118
                                     "Invalid encoding in scanned string");
4758
118
    }
4759
214
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
214
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
214
    return SCN_MOVE(result);
4765
214
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
196
{
4752
196
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
196
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
196
    if (!validate_unicode(src.view())) {
4756
44
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
44
                                     "Invalid encoding in scanned string");
4758
44
    }
4759
152
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
152
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
152
    return SCN_MOVE(result);
4765
152
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
130k
{
4752
130k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
130k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
130k
    if (!validate_unicode(src.view())) {
4756
3.48k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
3.48k
                                     "Invalid encoding in scanned string");
4758
3.48k
    }
4759
126k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
126k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
126k
    return SCN_MOVE(result);
4765
126k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.96k
{
4752
1.96k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.96k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.96k
    if (!validate_unicode(src.view())) {
4756
132
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
132
                                     "Invalid encoding in scanned string");
4758
132
    }
4759
1.83k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.83k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.83k
    return SCN_MOVE(result);
4765
1.83k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
332
{
4752
332
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
332
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
332
    if (!validate_unicode(src.view())) {
4756
118
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
118
                                     "Invalid encoding in scanned string");
4758
118
    }
4759
214
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
214
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
214
    return SCN_MOVE(result);
4765
214
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
196
{
4752
196
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
196
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
196
    if (!validate_unicode(src.view())) {
4756
44
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
44
                                     "Invalid encoding in scanned string");
4758
44
    }
4759
152
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
152
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
152
    return SCN_MOVE(result);
4765
152
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
984
{
4752
984
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
984
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
984
    if (!validate_unicode(src.view())) {
4756
316
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
316
                                     "Invalid encoding in scanned string");
4758
316
    }
4759
668
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
668
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
668
    return SCN_MOVE(result);
4765
668
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.12k
{
4752
1.12k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.12k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.12k
    if (!validate_unicode(src.view())) {
4756
132
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
132
                                     "Invalid encoding in scanned string");
4758
132
    }
4759
996
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
996
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
996
    return SCN_MOVE(result);
4765
996
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
140
{
4752
140
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
140
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
140
    if (!validate_unicode(src.view())) {
4756
66
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
66
                                     "Invalid encoding in scanned string");
4758
66
    }
4759
74
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
74
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
74
    return SCN_MOVE(result);
4765
74
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
50
{
4752
50
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
50
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
50
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
50
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
50
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
50
    return SCN_MOVE(result);
4765
50
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
852
{
4752
852
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
852
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
852
    if (!validate_unicode(src.view())) {
4756
274
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
274
                                     "Invalid encoding in scanned string");
4758
274
    }
4759
578
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
578
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
578
    return SCN_MOVE(result);
4765
578
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
458
{
4752
458
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
458
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
458
    if (!validate_unicode(src.view())) {
4756
150
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
150
                                     "Invalid encoding in scanned string");
4758
150
    }
4759
308
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
308
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
308
    return SCN_MOVE(result);
4765
308
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
716k
{
4752
716k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
716k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
716k
    if (!validate_unicode(src.view())) {
4756
7.28k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
7.28k
                                     "Invalid encoding in scanned string");
4758
7.28k
    }
4759
708k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
708k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
708k
    return SCN_MOVE(result);
4765
708k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
78
{
4752
78
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
78
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
78
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
78
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
78
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
78
    return SCN_MOVE(result);
4765
78
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
140
{
4752
140
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
140
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
140
    if (!validate_unicode(src.view())) {
4756
66
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
66
                                     "Invalid encoding in scanned string");
4758
66
    }
4759
74
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
74
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
74
    return SCN_MOVE(result);
4765
74
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
50
{
4752
50
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
50
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
50
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
50
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
50
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
50
    return SCN_MOVE(result);
4765
50
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
716k
{
4752
716k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
716k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
716k
    if (!validate_unicode(src.view())) {
4756
7.55k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
7.55k
                                     "Invalid encoding in scanned string");
4758
7.55k
    }
4759
709k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
709k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
709k
    return SCN_MOVE(result);
4765
709k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
536
{
4752
536
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
536
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
536
    if (!validate_unicode(src.view())) {
4756
150
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
150
                                     "Invalid encoding in scanned string");
4758
150
    }
4759
386
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
386
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
386
    return SCN_MOVE(result);
4765
386
}
4766
4767
template <typename Range, typename Iterator, typename ValueCharT>
4768
auto read_string_view_impl(Range range,
4769
                           Iterator&& result,
4770
                           std::basic_string_view<ValueCharT>& value)
4771
    -> scan_expected<ranges::const_iterator_t<Range>>
4772
850k
{
4773
850k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
850k
    auto src = [&]() {
4776
850k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
849k
            return make_contiguous_buffer(
4778
849k
                ranges::subrange{range.begin().base(), result.base()});
4779
849k
        }
4780
849k
        else {
4781
849k
            return make_contiguous_buffer(
4782
849k
                ranges::subrange{range.begin(), result});
4783
849k
        }
4784
850k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
332
    auto src = [&]() {
4776
332
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
332
            return make_contiguous_buffer(
4778
332
                ranges::subrange{range.begin().base(), result.base()});
4779
332
        }
4780
332
        else {
4781
332
            return make_contiguous_buffer(
4782
332
                ranges::subrange{range.begin(), result});
4783
332
        }
4784
332
    }();
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4775
196
    auto src = [&]() {
4776
196
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
196
            return make_contiguous_buffer(
4778
196
                ranges::subrange{range.begin().base(), result.base()});
4779
196
        }
4780
196
        else {
4781
196
            return make_contiguous_buffer(
4782
196
                ranges::subrange{range.begin(), result});
4783
196
        }
4784
196
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
130k
    auto src = [&]() {
4776
130k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
130k
            return make_contiguous_buffer(
4778
130k
                ranges::subrange{range.begin().base(), result.base()});
4779
130k
        }
4780
130k
        else {
4781
130k
            return make_contiguous_buffer(
4782
130k
                ranges::subrange{range.begin(), result});
4783
130k
        }
4784
130k
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
1.96k
    auto src = [&]() {
4776
1.96k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
1.96k
            return make_contiguous_buffer(
4778
1.96k
                ranges::subrange{range.begin().base(), result.base()});
4779
1.96k
        }
4780
1.96k
        else {
4781
1.96k
            return make_contiguous_buffer(
4782
1.96k
                ranges::subrange{range.begin(), result});
4783
1.96k
        }
4784
1.96k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
140
    auto src = [&]() {
4776
140
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
140
            return make_contiguous_buffer(
4778
140
                ranges::subrange{range.begin().base(), result.base()});
4779
140
        }
4780
140
        else {
4781
140
            return make_contiguous_buffer(
4782
140
                ranges::subrange{range.begin(), result});
4783
140
        }
4784
140
    }();
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4775
50
    auto src = [&]() {
4776
50
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
50
            return make_contiguous_buffer(
4778
50
                ranges::subrange{range.begin().base(), result.base()});
4779
50
        }
4780
50
        else {
4781
50
            return make_contiguous_buffer(
4782
50
                ranges::subrange{range.begin(), result});
4783
50
        }
4784
50
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
716k
    auto src = [&]() {
4776
716k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
716k
            return make_contiguous_buffer(
4778
716k
                ranges::subrange{range.begin().base(), result.base()});
4779
716k
        }
4780
716k
        else {
4781
716k
            return make_contiguous_buffer(
4782
716k
                ranges::subrange{range.begin(), result});
4783
716k
        }
4784
716k
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
536
    auto src = [&]() {
4776
536
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
536
            return make_contiguous_buffer(
4778
536
                ranges::subrange{range.begin().base(), result.base()});
4779
536
        }
4780
536
        else {
4781
536
            return make_contiguous_buffer(
4782
536
                ranges::subrange{range.begin(), result});
4783
536
        }
4784
536
    }();
4785
850k
    using src_type = decltype(src);
4786
4787
850k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
850k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
850k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
850k
                                     "Cannot read a string_view from "
4796
850k
                                     "this source range (would require "
4797
850k
                                     "transcoding)");
4798
850k
    }
4799
850k
    else {
4800
850k
        const auto view = src.view();
4801
850k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
850k
        if (!validate_unicode(value)) {
4804
11.5k
            return unexpected_scan_error(
4805
11.5k
                scan_error::invalid_scanned_value,
4806
11.5k
                "Invalid encoding in scanned string_view");
4807
11.5k
        }
4808
4809
838k
        return SCN_MOVE(result);
4810
850k
    }
4811
850k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
332
{
4773
332
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
332
    auto src = [&]() {
4776
332
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
332
            return make_contiguous_buffer(
4778
332
                ranges::subrange{range.begin().base(), result.base()});
4779
332
        }
4780
332
        else {
4781
332
            return make_contiguous_buffer(
4782
332
                ranges::subrange{range.begin(), result});
4783
332
        }
4784
332
    }();
4785
332
    using src_type = decltype(src);
4786
4787
332
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
332
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
332
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
332
                                     "Cannot read a string_view from "
4796
332
                                     "this source range (would require "
4797
332
                                     "transcoding)");
4798
332
    }
4799
332
    else {
4800
332
        const auto view = src.view();
4801
332
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
332
        if (!validate_unicode(value)) {
4804
118
            return unexpected_scan_error(
4805
118
                scan_error::invalid_scanned_value,
4806
118
                "Invalid encoding in scanned string_view");
4807
118
        }
4808
4809
214
        return SCN_MOVE(result);
4810
332
    }
4811
332
}
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4772
196
{
4773
196
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
196
    auto src = [&]() {
4776
196
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
196
            return make_contiguous_buffer(
4778
196
                ranges::subrange{range.begin().base(), result.base()});
4779
196
        }
4780
196
        else {
4781
196
            return make_contiguous_buffer(
4782
196
                ranges::subrange{range.begin(), result});
4783
196
        }
4784
196
    }();
4785
196
    using src_type = decltype(src);
4786
4787
196
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
196
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
196
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
196
                                     "Cannot read a string_view from "
4796
196
                                     "this source range (would require "
4797
196
                                     "transcoding)");
4798
196
    }
4799
196
    else {
4800
196
        const auto view = src.view();
4801
196
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
196
        if (!validate_unicode(value)) {
4804
44
            return unexpected_scan_error(
4805
44
                scan_error::invalid_scanned_value,
4806
44
                "Invalid encoding in scanned string_view");
4807
44
        }
4808
4809
152
        return SCN_MOVE(result);
4810
196
    }
4811
196
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
130k
{
4773
130k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
130k
    auto src = [&]() {
4776
130k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
130k
            return make_contiguous_buffer(
4778
130k
                ranges::subrange{range.begin().base(), result.base()});
4779
130k
        }
4780
130k
        else {
4781
130k
            return make_contiguous_buffer(
4782
130k
                ranges::subrange{range.begin(), result});
4783
130k
        }
4784
130k
    }();
4785
130k
    using src_type = decltype(src);
4786
4787
130k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
130k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
130k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
130k
                                     "Cannot read a string_view from "
4796
130k
                                     "this source range (would require "
4797
130k
                                     "transcoding)");
4798
130k
    }
4799
130k
    else {
4800
130k
        const auto view = src.view();
4801
130k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
130k
        if (!validate_unicode(value)) {
4804
3.48k
            return unexpected_scan_error(
4805
3.48k
                scan_error::invalid_scanned_value,
4806
3.48k
                "Invalid encoding in scanned string_view");
4807
3.48k
        }
4808
4809
126k
        return SCN_MOVE(result);
4810
130k
    }
4811
130k
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
1.96k
{
4773
1.96k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
1.96k
    auto src = [&]() {
4776
1.96k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
1.96k
            return make_contiguous_buffer(
4778
1.96k
                ranges::subrange{range.begin().base(), result.base()});
4779
1.96k
        }
4780
1.96k
        else {
4781
1.96k
            return make_contiguous_buffer(
4782
1.96k
                ranges::subrange{range.begin(), result});
4783
1.96k
        }
4784
1.96k
    }();
4785
1.96k
    using src_type = decltype(src);
4786
4787
1.96k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
1.96k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
1.96k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
1.96k
                                     "Cannot read a string_view from "
4796
1.96k
                                     "this source range (would require "
4797
1.96k
                                     "transcoding)");
4798
1.96k
    }
4799
1.96k
    else {
4800
1.96k
        const auto view = src.view();
4801
1.96k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
1.96k
        if (!validate_unicode(value)) {
4804
132
            return unexpected_scan_error(
4805
132
                scan_error::invalid_scanned_value,
4806
132
                "Invalid encoding in scanned string_view");
4807
132
        }
4808
4809
1.83k
        return SCN_MOVE(result);
4810
1.96k
    }
4811
1.96k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
140
{
4773
140
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
140
    auto src = [&]() {
4776
140
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
140
            return make_contiguous_buffer(
4778
140
                ranges::subrange{range.begin().base(), result.base()});
4779
140
        }
4780
140
        else {
4781
140
            return make_contiguous_buffer(
4782
140
                ranges::subrange{range.begin(), result});
4783
140
        }
4784
140
    }();
4785
140
    using src_type = decltype(src);
4786
4787
140
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
140
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
140
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
140
                                     "Cannot read a string_view from "
4796
140
                                     "this source range (would require "
4797
140
                                     "transcoding)");
4798
140
    }
4799
140
    else {
4800
140
        const auto view = src.view();
4801
140
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
140
        if (!validate_unicode(value)) {
4804
66
            return unexpected_scan_error(
4805
66
                scan_error::invalid_scanned_value,
4806
66
                "Invalid encoding in scanned string_view");
4807
66
        }
4808
4809
74
        return SCN_MOVE(result);
4810
140
    }
4811
140
}
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4772
50
{
4773
50
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
50
    auto src = [&]() {
4776
50
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
50
            return make_contiguous_buffer(
4778
50
                ranges::subrange{range.begin().base(), result.base()});
4779
50
        }
4780
50
        else {
4781
50
            return make_contiguous_buffer(
4782
50
                ranges::subrange{range.begin(), result});
4783
50
        }
4784
50
    }();
4785
50
    using src_type = decltype(src);
4786
4787
50
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
50
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
50
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
50
                                     "Cannot read a string_view from "
4796
50
                                     "this source range (would require "
4797
50
                                     "transcoding)");
4798
50
    }
4799
50
    else {
4800
50
        const auto view = src.view();
4801
50
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
50
        if (!validate_unicode(value)) {
4804
0
            return unexpected_scan_error(
4805
0
                scan_error::invalid_scanned_value,
4806
0
                "Invalid encoding in scanned string_view");
4807
0
        }
4808
4809
50
        return SCN_MOVE(result);
4810
50
    }
4811
50
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
716k
{
4773
716k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
716k
    auto src = [&]() {
4776
716k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
716k
            return make_contiguous_buffer(
4778
716k
                ranges::subrange{range.begin().base(), result.base()});
4779
716k
        }
4780
716k
        else {
4781
716k
            return make_contiguous_buffer(
4782
716k
                ranges::subrange{range.begin(), result});
4783
716k
        }
4784
716k
    }();
4785
716k
    using src_type = decltype(src);
4786
4787
716k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
716k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
716k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
716k
                                     "Cannot read a string_view from "
4796
716k
                                     "this source range (would require "
4797
716k
                                     "transcoding)");
4798
716k
    }
4799
716k
    else {
4800
716k
        const auto view = src.view();
4801
716k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
716k
        if (!validate_unicode(value)) {
4804
7.55k
            return unexpected_scan_error(
4805
7.55k
                scan_error::invalid_scanned_value,
4806
7.55k
                "Invalid encoding in scanned string_view");
4807
7.55k
        }
4808
4809
709k
        return SCN_MOVE(result);
4810
716k
    }
4811
716k
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
536
{
4773
536
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
536
    auto src = [&]() {
4776
536
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
536
            return make_contiguous_buffer(
4778
536
                ranges::subrange{range.begin().base(), result.base()});
4779
536
        }
4780
536
        else {
4781
536
            return make_contiguous_buffer(
4782
536
                ranges::subrange{range.begin(), result});
4783
536
        }
4784
536
    }();
4785
536
    using src_type = decltype(src);
4786
4787
536
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
536
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
536
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
536
                                     "Cannot read a string_view from "
4796
536
                                     "this source range (would require "
4797
536
                                     "transcoding)");
4798
536
    }
4799
536
    else {
4800
536
        const auto view = src.view();
4801
536
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
536
        if (!validate_unicode(value)) {
4804
150
            return unexpected_scan_error(
4805
150
                scan_error::invalid_scanned_value,
4806
150
                "Invalid encoding in scanned string_view");
4807
150
        }
4808
4809
386
        return SCN_MOVE(result);
4810
536
    }
4811
536
}
4812
4813
template <typename SourceCharT>
4814
class word_reader_impl {
4815
public:
4816
    template <typename Range, typename ValueCharT>
4817
    auto read(Range range, std::basic_string<ValueCharT>& value)
4818
        -> scan_expected<ranges::const_iterator_t<Range>>
4819
1.71M
    {
4820
1.71M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
1.71M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
148k
    {
4820
148k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
148k
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
246
    {
4820
246
        return read_string_impl(range, read_until_classic_space(range), value);
4821
246
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
130k
    {
4820
130k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
130k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
246
    {
4820
246
        return read_string_impl(range, read_until_classic_space(range), value);
4821
246
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
932
    {
4820
932
        return read_string_impl(range, read_until_classic_space(range), value);
4821
932
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
104
    {
4820
104
        return read_string_impl(range, read_until_classic_space(range), value);
4821
104
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
810
    {
4820
810
        return read_string_impl(range, read_until_classic_space(range), value);
4821
810
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
716k
    {
4820
716k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
716k
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
104
    {
4820
104
        return read_string_impl(range, read_until_classic_space(range), value);
4821
104
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
716k
    {
4820
716k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
716k
    }
4822
4823
    template <typename Range, typename ValueCharT>
4824
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4825
        -> scan_expected<ranges::const_iterator_t<Range>>
4826
847k
    {
4827
847k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
847k
                                     value);
4829
847k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
246
    {
4827
246
        return read_string_view_impl(range, read_until_classic_space(range),
4828
246
                                     value);
4829
246
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
130k
    {
4827
130k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
130k
                                     value);
4829
130k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
104
    {
4827
104
        return read_string_view_impl(range, read_until_classic_space(range),
4828
104
                                     value);
4829
104
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
716k
    {
4827
716k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
716k
                                     value);
4829
716k
    }
4830
};
4831
4832
template <typename SourceCharT>
4833
class custom_word_reader_impl {
4834
public:
4835
    template <typename Range, typename ValueCharT>
4836
    auto read(Range range,
4837
              const detail::format_specs& specs,
4838
              std::basic_string<ValueCharT>& value)
4839
        -> scan_expected<ranges::const_iterator_t<Range>>
4840
336
    {
4841
336
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
252
            return read_string_impl(
4843
252
                range,
4844
252
                read_until_code_unit(
4845
252
                    range,
4846
252
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
4.22k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
782
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
442
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
782
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
442
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
350
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
536
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
350
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
536
                        SourceCharT ch) { return ch == until; }),
4848
252
                value);
4849
252
        }
4850
84
        return read_string_impl(
4851
84
            range,
4852
84
            read_until_code_units(
4853
84
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
84
            value);
4855
336
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
54
    {
4841
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
34
            return read_string_impl(
4843
34
                range,
4844
34
                read_until_code_unit(
4845
34
                    range,
4846
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
34
                        SourceCharT ch) { return ch == until; }),
4848
34
                value);
4849
34
        }
4850
20
        return read_string_impl(
4851
20
            range,
4852
20
            read_until_code_units(
4853
20
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
20
            value);
4855
54
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
52
    {
4841
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
30
            return read_string_impl(
4843
30
                range,
4844
30
                read_until_code_unit(
4845
30
                    range,
4846
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
30
                        SourceCharT ch) { return ch == until; }),
4848
30
                value);
4849
30
        }
4850
22
        return read_string_impl(
4851
22
            range,
4852
22
            read_until_code_units(
4853
22
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
22
            value);
4855
52
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
54
    {
4841
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
34
            return read_string_impl(
4843
34
                range,
4844
34
                read_until_code_unit(
4845
34
                    range,
4846
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
34
                        SourceCharT ch) { return ch == until; }),
4848
34
                value);
4849
34
        }
4850
20
        return read_string_impl(
4851
20
            range,
4852
20
            read_until_code_units(
4853
20
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
20
            value);
4855
54
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
52
    {
4841
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
30
            return read_string_impl(
4843
30
                range,
4844
30
                read_until_code_unit(
4845
30
                    range,
4846
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
30
                        SourceCharT ch) { return ch == until; }),
4848
30
                value);
4849
30
        }
4850
22
        return read_string_impl(
4851
22
            range,
4852
22
            read_until_code_units(
4853
22
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
22
            value);
4855
52
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
20
    {
4841
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
20
            return read_string_impl(
4843
20
                range,
4844
20
                read_until_code_unit(
4845
20
                    range,
4846
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
20
                        SourceCharT ch) { return ch == until; }),
4848
20
                value);
4849
20
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
42
    {
4841
42
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
42
            return read_string_impl(
4843
42
                range,
4844
42
                read_until_code_unit(
4845
42
                    range,
4846
42
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
42
                        SourceCharT ch) { return ch == until; }),
4848
42
                value);
4849
42
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
42
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
20
    {
4841
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
20
            return read_string_impl(
4843
20
                range,
4844
20
                read_until_code_unit(
4845
20
                    range,
4846
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
20
                        SourceCharT ch) { return ch == until; }),
4848
20
                value);
4849
20
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
42
    {
4841
42
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
42
            return read_string_impl(
4843
42
                range,
4844
42
                read_until_code_unit(
4845
42
                    range,
4846
42
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
42
                        SourceCharT ch) { return ch == until; }),
4848
42
                value);
4849
42
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
42
    }
4856
4857
    template <typename Range, typename ValueCharT>
4858
    auto read(Range range,
4859
              const detail::format_specs& specs,
4860
              std::basic_string_view<ValueCharT>& value)
4861
        -> scan_expected<ranges::const_iterator_t<Range>>
4862
168
    {
4863
168
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
126
            return read_string_view_impl(
4865
126
                range,
4866
126
                read_until_code_unit(
4867
126
                    range,
4868
126
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
2.11k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Line
Count
Source
4869
782
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Line
Count
Source
4869
442
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Line
Count
Source
4869
350
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Line
Count
Source
4869
536
                        SourceCharT ch) { return ch == until; }),
4870
126
                value);
4871
126
        }
4872
42
        return read_string_view_impl(
4873
42
            range,
4874
42
            read_until_code_units(
4875
42
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
42
            value);
4877
168
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
54
    {
4863
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
34
            return read_string_view_impl(
4865
34
                range,
4866
34
                read_until_code_unit(
4867
34
                    range,
4868
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
34
                        SourceCharT ch) { return ch == until; }),
4870
34
                value);
4871
34
        }
4872
20
        return read_string_view_impl(
4873
20
            range,
4874
20
            read_until_code_units(
4875
20
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
20
            value);
4877
54
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
52
    {
4863
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
30
            return read_string_view_impl(
4865
30
                range,
4866
30
                read_until_code_unit(
4867
30
                    range,
4868
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
30
                        SourceCharT ch) { return ch == until; }),
4870
30
                value);
4871
30
        }
4872
22
        return read_string_view_impl(
4873
22
            range,
4874
22
            read_until_code_units(
4875
22
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
22
            value);
4877
52
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
20
    {
4863
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
20
            return read_string_view_impl(
4865
20
                range,
4866
20
                read_until_code_unit(
4867
20
                    range,
4868
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
20
                        SourceCharT ch) { return ch == until; }),
4870
20
                value);
4871
20
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
42
    {
4863
42
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
42
            return read_string_view_impl(
4865
42
                range,
4866
42
                read_until_code_unit(
4867
42
                    range,
4868
42
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
42
                        SourceCharT ch) { return ch == until; }),
4870
42
                value);
4871
42
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
42
    }
4878
};
4879
4880
#if !SCN_DISABLE_REGEX
4881
template <typename SourceCharT>
4882
class regex_string_reader_impl {
4883
public:
4884
    template <typename Range, typename ValueCharT>
4885
    auto read(Range range,
4886
              std::basic_string_view<SourceCharT> pattern,
4887
              detail::regex_flags flags,
4888
              std::basic_string<ValueCharT>& value)
4889
        -> scan_expected<ranges::const_iterator_t<Range>>
4890
11.1k
    {
4891
11.1k
        SCN_TRY(it, impl(range, pattern, flags));
4892
1.87k
        return read_string_impl(range, it, value);
4893
11.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
132
    {
4891
132
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
132
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.57k
    {
4891
3.57k
        SCN_TRY(it, impl(range, pattern, flags));
4892
576
        return read_string_impl(range, it, value);
4893
3.57k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
132
    {
4891
132
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
132
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.57k
    {
4891
3.57k
        SCN_TRY(it, impl(range, pattern, flags));
4892
576
        return read_string_impl(range, it, value);
4893
3.57k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
6
    {
4891
6
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
6
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.85k
    {
4891
1.85k
        SCN_TRY(it, impl(range, pattern, flags));
4892
362
        return read_string_impl(range, it, value);
4893
1.85k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
6
    {
4891
6
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
6
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.85k
    {
4891
1.85k
        SCN_TRY(it, impl(range, pattern, flags));
4892
362
        return read_string_impl(range, it, value);
4893
1.85k
    }
4894
4895
    template <typename Range, typename ValueCharT>
4896
    auto read(Range range,
4897
              std::basic_string_view<SourceCharT> pattern,
4898
              detail::regex_flags flags,
4899
              std::basic_string_view<ValueCharT>& value)
4900
        -> scan_expected<ranges::const_iterator_t<Range>>
4901
5.56k
    {
4902
5.56k
        SCN_TRY(it, impl(range, pattern, flags));
4903
938
        return read_string_view_impl(range, it, value);
4904
5.56k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
132
    {
4902
132
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
132
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
3.57k
    {
4902
3.57k
        SCN_TRY(it, impl(range, pattern, flags));
4903
576
        return read_string_view_impl(range, it, value);
4904
3.57k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
6
    {
4902
6
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
6
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
1.85k
    {
4902
1.85k
        SCN_TRY(it, impl(range, pattern, flags));
4903
362
        return read_string_view_impl(range, it, value);
4904
1.85k
    }
4905
4906
private:
4907
    template <typename Range>
4908
    auto impl(Range range,
4909
              std::basic_string_view<SourceCharT> pattern,
4910
              detail::regex_flags flags)
4911
        -> scan_expected<ranges::const_iterator_t<Range>>
4912
16.6k
    {
4913
16.6k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
16.6k
                      !std::is_same_v<SourceCharT, char>) {
4915
16.6k
            return unexpected_scan_error(
4916
16.6k
                scan_error::invalid_scanned_value,
4917
16.6k
                "Regex backend doesn't support wide strings as input");
4918
16.6k
        }
4919
16.6k
        else {
4920
16.6k
            if (!is_entire_source_contiguous(range)) {
4921
414
                return unexpected_scan_error(
4922
414
                    scan_error::invalid_scanned_value,
4923
414
                    "Cannot use regex with a non-contiguous source "
4924
414
                    "range");
4925
414
            }
4926
4927
16.2k
            auto input = get_as_contiguous(range);
4928
16.2k
            SCN_TRY(it,
4929
2.81k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
2.81k
            return ranges::next(range.begin(),
4931
2.81k
                                ranges::distance(input.begin(), it));
4932
16.2k
        }
4933
16.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
396
    {
4913
396
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
396
                      !std::is_same_v<SourceCharT, char>) {
4915
396
            return unexpected_scan_error(
4916
396
                scan_error::invalid_scanned_value,
4917
396
                "Regex backend doesn't support wide strings as input");
4918
396
        }
4919
396
        else {
4920
396
            if (!is_entire_source_contiguous(range)) {
4921
396
                return unexpected_scan_error(
4922
396
                    scan_error::invalid_scanned_value,
4923
396
                    "Cannot use regex with a non-contiguous source "
4924
396
                    "range");
4925
396
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
396
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
10.7k
    {
4913
10.7k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
10.7k
                      !std::is_same_v<SourceCharT, char>) {
4915
10.7k
            return unexpected_scan_error(
4916
10.7k
                scan_error::invalid_scanned_value,
4917
10.7k
                "Regex backend doesn't support wide strings as input");
4918
10.7k
        }
4919
10.7k
        else {
4920
10.7k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
10.7k
            auto input = get_as_contiguous(range);
4928
10.7k
            SCN_TRY(it,
4929
1.72k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.72k
            return ranges::next(range.begin(),
4931
1.72k
                                ranges::distance(input.begin(), it));
4932
10.7k
        }
4933
10.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
18
    {
4913
18
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
18
                      !std::is_same_v<SourceCharT, char>) {
4915
18
            return unexpected_scan_error(
4916
18
                scan_error::invalid_scanned_value,
4917
18
                "Regex backend doesn't support wide strings as input");
4918
18
        }
4919
18
        else {
4920
18
            if (!is_entire_source_contiguous(range)) {
4921
18
                return unexpected_scan_error(
4922
18
                    scan_error::invalid_scanned_value,
4923
18
                    "Cannot use regex with a non-contiguous source "
4924
18
                    "range");
4925
18
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
18
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
5.56k
    {
4913
5.56k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
5.56k
                      !std::is_same_v<SourceCharT, char>) {
4915
5.56k
            return unexpected_scan_error(
4916
5.56k
                scan_error::invalid_scanned_value,
4917
5.56k
                "Regex backend doesn't support wide strings as input");
4918
5.56k
        }
4919
5.56k
        else {
4920
5.56k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
5.56k
            auto input = get_as_contiguous(range);
4928
5.56k
            SCN_TRY(it,
4929
1.08k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.08k
            return ranges::next(range.begin(),
4931
1.08k
                                ranges::distance(input.begin(), it));
4932
5.56k
        }
4933
5.56k
    }
4934
};
4935
#endif
4936
4937
template <typename SourceCharT>
4938
class character_reader_impl {
4939
public:
4940
    // Note: no localized version,
4941
    // since it's equivalent in behavior
4942
4943
    template <typename Range, typename ValueCharT>
4944
    auto read(Range range, std::basic_string<ValueCharT>& value)
4945
        -> scan_expected<ranges::const_iterator_t<Range>>
4946
96
    {
4947
96
        return read_impl(
4948
96
            range,
4949
96
            [&](const auto& rng) {
4950
96
                return read_string_impl(rng, read_all(rng), value);
4951
96
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
4952
96
            detail::priority_tag<1>{});
4953
96
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
32
    {
4947
32
        return read_impl(
4948
32
            range,
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
4952
32
            detail::priority_tag<1>{});
4953
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
32
    {
4947
32
        return read_impl(
4948
32
            range,
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
4952
32
            detail::priority_tag<1>{});
4953
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
16
    {
4947
16
        return read_impl(
4948
16
            range,
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
4952
16
            detail::priority_tag<1>{});
4953
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
16
    {
4947
16
        return read_impl(
4948
16
            range,
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
4952
16
            detail::priority_tag<1>{});
4953
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
4954
4955
    template <typename Range, typename ValueCharT>
4956
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4957
        -> scan_expected<ranges::const_iterator_t<Range>>
4958
48
    {
4959
48
        return read_impl(
4960
48
            range,
4961
48
            [&](const auto& rng) {
4962
48
                return read_string_view_impl(rng, read_all(rng), value);
4963
48
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
32
            [&](const auto& rng) {
4962
32
                return read_string_view_impl(rng, read_all(rng), value);
4963
32
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
16
            [&](const auto& rng) {
4962
16
                return read_string_view_impl(rng, read_all(rng), value);
4963
16
            },
4964
48
            detail::priority_tag<1>{});
4965
48
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
32
    {
4959
32
        return read_impl(
4960
32
            range,
4961
32
            [&](const auto& rng) {
4962
32
                return read_string_view_impl(rng, read_all(rng), value);
4963
32
            },
4964
32
            detail::priority_tag<1>{});
4965
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
16
    {
4959
16
        return read_impl(
4960
16
            range,
4961
16
            [&](const auto& rng) {
4962
16
                return read_string_view_impl(rng, read_all(rng), value);
4963
16
            },
4964
16
            detail::priority_tag<1>{});
4965
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
4966
4967
private:
4968
    template <typename View, typename ReadCb>
4969
    static auto read_impl(const take_width_view<View>& range,
4970
                          ReadCb&& read_cb,
4971
                          detail::priority_tag<1>)
4972
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
4973
144
    {
4974
144
        return read_cb(range);
4975
144
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
32
    {
4974
32
        return read_cb(range);
4975
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
32
    {
4974
32
        return read_cb(range);
4975
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
32
    {
4974
32
        return read_cb(range);
4975
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
16
    {
4974
16
        return read_cb(range);
4975
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
16
    {
4974
16
        return read_cb(range);
4975
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
16
    {
4974
16
        return read_cb(range);
4975
16
    }
4976
4977
    template <typename Range, typename ReadCb>
4978
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
4979
        -> scan_expected<ranges::const_iterator_t<Range>>
4980
0
    {
4981
0
        return unexpected_scan_error(
4982
0
            scan_error::invalid_scanned_value,
4983
0
            "character_reader requires take_width_view");
4984
0
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
4985
};
4986
4987
struct nonascii_specs_handler {
4988
    void on_charset_single(char32_t cp)
4989
370k
    {
4990
370k
        on_charset_range(cp, cp + 1);
4991
370k
    }
4992
4993
    void on_charset_range(char32_t begin, char32_t end)
4994
373k
    {
4995
373k
        if (end <= 127) {
4996
193k
            return;
4997
193k
        }
4998
4999
30.7M
        for (auto& elem : extra_ranges) {
5000
            // TODO: check for overlap
5001
30.7M
            if (elem.first == end) {
5002
540
                elem.first = begin;
5003
540
                return;
5004
540
            }
5005
5006
30.7M
            if (elem.second == begin) {
5007
1.77k
                elem.second = end;
5008
1.77k
                return;
5009
1.77k
            }
5010
30.7M
        }
5011
5012
177k
        extra_ranges.push_back(std::make_pair(begin, end));
5013
177k
    }
5014
5015
    constexpr void on_charset_inverted() const
5016
492
    {
5017
        // no-op
5018
492
    }
5019
5020
    constexpr void on_error(const char* msg)
5021
0
    {
5022
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5023
0
    }
5024
    constexpr void on_error(scan_error e)
5025
0
    {
5026
0
        SCN_UNLIKELY_ATTR
5027
0
        err = e;
5028
0
    }
5029
5030
    constexpr explicit operator bool() const
5031
379k
    {
5032
379k
        return static_cast<bool>(err);
5033
379k
    }
5034
5035
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5036
    scan_error err;
5037
};
5038
5039
template <typename SourceCharT>
5040
class character_set_reader_impl {
5041
public:
5042
    template <typename Range, typename ValueCharT>
5043
    auto read(Range range,
5044
              const detail::format_specs& specs,
5045
              std::basic_string<ValueCharT>& value)
5046
        -> scan_expected<ranges::const_iterator_t<Range>>
5047
15.9k
    {
5048
15.9k
        auto it = read_source_impl(range, {specs});
5049
15.9k
        if (SCN_UNLIKELY(!it)) {
5050
12.3k
            return unexpected(it.error());
5051
12.3k
        }
5052
5053
3.62k
        return read_string_impl(range, *it, value);
5054
15.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
2.77k
    {
5048
2.77k
        auto it = read_source_impl(range, {specs});
5049
2.77k
        if (SCN_UNLIKELY(!it)) {
5050
1.93k
            return unexpected(it.error());
5051
1.93k
        }
5052
5053
838
        return read_string_impl(range, *it, value);
5054
2.77k
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
208
    {
5048
208
        auto it = read_source_impl(range, {specs});
5049
208
        if (SCN_UNLIKELY(!it)) {
5050
12
            return unexpected(it.error());
5051
12
        }
5052
5053
196
        return read_string_impl(range, *it, value);
5054
208
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
3.65k
    {
5048
3.65k
        auto it = read_source_impl(range, {specs});
5049
3.65k
        if (SCN_UNLIKELY(!it)) {
5050
2.26k
            return unexpected(it.error());
5051
2.26k
        }
5052
5053
1.39k
        return read_string_impl(range, *it, value);
5054
3.65k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
208
    {
5048
208
        auto it = read_source_impl(range, {specs});
5049
208
        if (SCN_UNLIKELY(!it)) {
5050
12
            return unexpected(it.error());
5051
12
        }
5052
5053
196
        return read_string_impl(range, *it, value);
5054
208
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
878
    {
5048
878
        auto it = read_source_impl(range, {specs});
5049
878
        if (SCN_UNLIKELY(!it)) {
5050
326
            return unexpected(it.error());
5051
326
        }
5052
5053
552
        return read_string_impl(range, *it, value);
5054
878
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
60
    {
5048
60
        auto it = read_source_impl(range, {specs});
5049
60
        if (SCN_UNLIKELY(!it)) {
5050
10
            return unexpected(it.error());
5051
10
        }
5052
5053
50
        return read_string_impl(range, *it, value);
5054
60
    }
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
114
    {
5048
114
        auto it = read_source_impl(range, {specs});
5049
114
        if (SCN_UNLIKELY(!it)) {
5050
18
            return unexpected(it.error());
5051
18
        }
5052
5053
96
        return read_string_impl(range, *it, value);
5054
114
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
3.94k
    {
5048
3.94k
        auto it = read_source_impl(range, {specs});
5049
3.94k
        if (SCN_UNLIKELY(!it)) {
5050
3.86k
            return unexpected(it.error());
5051
3.86k
        }
5052
5053
78
        return read_string_impl(range, *it, value);
5054
3.94k
    }
_ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
60
    {
5048
60
        auto it = read_source_impl(range, {specs});
5049
60
        if (SCN_UNLIKELY(!it)) {
5050
10
            return unexpected(it.error());
5051
10
        }
5052
5053
50
        return read_string_impl(range, *it, value);
5054
60
    }
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
4.06k
    {
5048
4.06k
        auto it = read_source_impl(range, {specs});
5049
4.06k
        if (SCN_UNLIKELY(!it)) {
5050
3.88k
            return unexpected(it.error());
5051
3.88k
        }
5052
5053
174
        return read_string_impl(range, *it, value);
5054
4.06k
    }
5055
5056
    template <typename Range, typename ValueCharT>
5057
    auto read(Range range,
5058
              const detail::format_specs& specs,
5059
              std::basic_string_view<ValueCharT>& value)
5060
        -> scan_expected<ranges::const_iterator_t<Range>>
5061
7.97k
    {
5062
7.97k
        auto it = read_source_impl(range, {specs});
5063
7.97k
        if (SCN_UNLIKELY(!it)) {
5064
6.16k
            return unexpected(it.error());
5065
6.16k
        }
5066
5067
1.81k
        return read_string_view_impl(range, *it, value);
5068
7.97k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5061
208
    {
5062
208
        auto it = read_source_impl(range, {specs});
5063
208
        if (SCN_UNLIKELY(!it)) {
5064
12
            return unexpected(it.error());
5065
12
        }
5066
5067
196
        return read_string_view_impl(range, *it, value);
5068
208
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
3.65k
    {
5062
3.65k
        auto it = read_source_impl(range, {specs});
5063
3.65k
        if (SCN_UNLIKELY(!it)) {
5064
2.26k
            return unexpected(it.error());
5065
2.26k
        }
5066
5067
1.39k
        return read_string_view_impl(range, *it, value);
5068
3.65k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5061
60
    {
5062
60
        auto it = read_source_impl(range, {specs});
5063
60
        if (SCN_UNLIKELY(!it)) {
5064
10
            return unexpected(it.error());
5065
10
        }
5066
5067
50
        return read_string_view_impl(range, *it, value);
5068
60
    }
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
4.06k
    {
5062
4.06k
        auto it = read_source_impl(range, {specs});
5063
4.06k
        if (SCN_UNLIKELY(!it)) {
5064
3.88k
            return unexpected(it.error());
5065
3.88k
        }
5066
5067
174
        return read_string_view_impl(range, *it, value);
5068
4.06k
    }
5069
5070
private:
5071
    struct specs_helper {
5072
23.9k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
11.5k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
12.3k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5073
5074
        constexpr bool is_char_set_in_literals(char ch) const
5075
272k
        {
5076
272k
            SCN_EXPECT(is_ascii_char(ch));
5077
272k
            const auto val =
5078
272k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
272k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
272k
                    (val % 8)) &
5081
272k
                   1u;
5082
272k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
261k
        {
5076
261k
            SCN_EXPECT(is_ascii_char(ch));
5077
261k
            const auto val =
5078
261k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
261k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
261k
                    (val % 8)) &
5081
261k
                   1u;
5082
261k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
11.7k
        {
5076
11.7k
            SCN_EXPECT(is_ascii_char(ch));
5077
11.7k
            const auto val =
5078
11.7k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
11.7k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
11.7k
                    (val % 8)) &
5081
11.7k
                   1u;
5082
11.7k
        }
5083
5084
        bool is_char_set_in_extra_literals(char32_t cp) const
5085
37.6k
        {
5086
            // TODO: binary search?
5087
37.6k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
37.6k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
37.6k
            return std::find_if(
5093
37.6k
                       nonascii.extra_ranges.begin(),
5094
37.6k
                       nonascii.extra_ranges.end(),
5095
6.39M
                       [cp_val](const auto& pair) noexcept {
5096
6.39M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
6.39M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
6.39M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
6.38M
                       [cp_val](const auto& pair) noexcept {
5096
6.38M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
6.38M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
6.38M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
11.3k
                       [cp_val](const auto& pair) noexcept {
5096
11.3k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
11.3k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
11.3k
                       }) != nonascii.extra_ranges.end();
5099
37.6k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
36.4k
        {
5086
            // TODO: binary search?
5087
36.4k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
36.4k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
36.4k
            return std::find_if(
5093
36.4k
                       nonascii.extra_ranges.begin(),
5094
36.4k
                       nonascii.extra_ranges.end(),
5095
36.4k
                       [cp_val](const auto& pair) noexcept {
5096
36.4k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
36.4k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
36.4k
                       }) != nonascii.extra_ranges.end();
5099
36.4k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
1.25k
        {
5086
            // TODO: binary search?
5087
1.25k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
1.25k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
1.25k
            return std::find_if(
5093
1.25k
                       nonascii.extra_ranges.begin(),
5094
1.25k
                       nonascii.extra_ranges.end(),
5095
1.25k
                       [cp_val](const auto& pair) noexcept {
5096
1.25k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
1.25k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
1.25k
                       }) != nonascii.extra_ranges.end();
5099
1.25k
        }
5100
5101
        scan_error handle_nonascii()
5102
23.9k
        {
5103
23.9k
            if (!specs.charset_has_nonascii) {
5104
20.8k
                return {};
5105
20.8k
            }
5106
5107
3.04k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
3.04k
            auto it = detail::to_address(charset_string.begin());
5109
3.04k
            auto set = detail::parse_presentation_set(
5110
3.04k
                it, detail::to_address(charset_string.end()), nonascii);
5111
3.04k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
3.04k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
3.04k
            SCN_ENSURE(set == charset_string);
5116
5117
3.04k
            std::sort(nonascii.extra_ranges.begin(),
5118
3.04k
                      nonascii.extra_ranges.end());
5119
3.04k
            return {};
5120
3.04k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5102
11.5k
        {
5103
11.5k
            if (!specs.charset_has_nonascii) {
5104
8.89k
                return {};
5105
8.89k
            }
5106
5107
2.68k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.68k
            auto it = detail::to_address(charset_string.begin());
5109
2.68k
            auto set = detail::parse_presentation_set(
5110
2.68k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.68k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.68k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.68k
            SCN_ENSURE(set == charset_string);
5116
5117
2.68k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.68k
                      nonascii.extra_ranges.end());
5119
2.68k
            return {};
5120
2.68k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5102
12.3k
        {
5103
12.3k
            if (!specs.charset_has_nonascii) {
5104
11.9k
                return {};
5105
11.9k
            }
5106
5107
366
            auto charset_string = specs.charset_string<SourceCharT>();
5108
366
            auto it = detail::to_address(charset_string.begin());
5109
366
            auto set = detail::parse_presentation_set(
5110
366
                it, detail::to_address(charset_string.end()), nonascii);
5111
366
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
366
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
366
            SCN_ENSURE(set == charset_string);
5116
5117
366
            std::sort(nonascii.extra_ranges.begin(),
5118
366
                      nonascii.extra_ranges.end());
5119
366
            return {};
5120
366
        }
5121
5122
        const detail::format_specs& specs;
5123
        nonascii_specs_handler nonascii;
5124
    };
5125
5126
    struct read_source_callback {
5127
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5128
44.1k
        {
5129
44.1k
            if (!is_ascii_char(ch)) {
5130
8.74k
                return false;
5131
8.74k
            }
5132
5133
35.4k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
44.1k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5128
30.1k
        {
5129
30.1k
            if (!is_ascii_char(ch)) {
5130
3.42k
                return false;
5131
3.42k
            }
5132
5133
26.7k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
30.1k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5128
13.9k
        {
5129
13.9k
            if (!is_ascii_char(ch)) {
5130
5.31k
                return false;
5131
5.31k
            }
5132
5133
8.65k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
13.9k
        }
5135
5136
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5137
275k
        {
5138
275k
            if (!is_ascii_char(cp)) {
5139
37.6k
                return helper.is_char_set_in_extra_literals(cp);
5140
37.6k
            }
5141
5142
237k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
275k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
270k
        {
5138
270k
            if (!is_ascii_char(cp)) {
5139
36.4k
                return helper.is_char_set_in_extra_literals(cp);
5140
36.4k
            }
5141
5142
234k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
270k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
4.38k
        {
5138
4.38k
            if (!is_ascii_char(cp)) {
5139
1.25k
                return helper.is_char_set_in_extra_literals(cp);
5140
1.25k
            }
5141
5142
3.13k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
4.38k
        }
5144
5145
        const specs_helper& helper;
5146
        detail::locale_ref loc{};
5147
    };
5148
5149
    template <typename Range>
5150
    auto read_source_impl(Range range, specs_helper helper) const
5151
        -> scan_expected<ranges::const_iterator_t<Range>>
5152
23.9k
    {
5153
23.9k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
23.9k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
23.9k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
23.9k
        read_source_callback cb_wrapper{helper};
5161
5162
23.9k
        if (accepts_nonascii) {
5163
275k
            const auto cb = [&](char32_t cp) {
5164
275k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
275k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
10.3k
            const auto cb = [&](char32_t cp) {
5164
10.3k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
10.3k
            };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
260k
            const auto cb = [&](char32_t cp) {
5164
260k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
260k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
456
            const auto cb = [&](char32_t cp) {
5164
456
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
456
            };
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
3.93k
            const auto cb = [&](char32_t cp) {
5164
3.93k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
3.93k
            };
5166
5167
3.04k
            if (is_inverted) {
5168
492
                auto it = read_until_code_point(range, cb);
5169
492
                return check_nonempty(it, range);
5170
492
            }
5171
2.55k
            auto it = read_while_code_point(range, cb);
5172
2.55k
            return check_nonempty(it, range);
5173
3.04k
        }
5174
5175
44.1k
        const auto cb = [&](SourceCharT ch) {
5176
44.1k
            return cb_wrapper.on_ascii_only(ch);
5177
44.1k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
7.12k
        const auto cb = [&](SourceCharT ch) {
5176
7.12k
            return cb_wrapper.on_ascii_only(ch);
5177
7.12k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
5.32k
        const auto cb = [&](SourceCharT ch) {
5176
5.32k
            return cb_wrapper.on_ascii_only(ch);
5177
5.32k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
17.7k
        const auto cb = [&](SourceCharT ch) {
5176
17.7k
            return cb_wrapper.on_ascii_only(ch);
5177
17.7k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
4.19k
        const auto cb = [&](SourceCharT ch) {
5176
4.19k
            return cb_wrapper.on_ascii_only(ch);
5177
4.19k
        };
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
204
        const auto cb = [&](SourceCharT ch) {
5176
204
            return cb_wrapper.on_ascii_only(ch);
5177
204
        };
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
9.57k
        const auto cb = [&](SourceCharT ch) {
5176
9.57k
            return cb_wrapper.on_ascii_only(ch);
5177
9.57k
        };
5178
5179
20.8k
        if (is_inverted) {
5180
330
            auto it = read_until_code_unit(range, cb);
5181
330
            return check_nonempty(it, range);
5182
330
        }
5183
20.5k
        auto it = read_while_code_unit(range, cb);
5184
20.5k
        return check_nonempty(it, range);
5185
20.8k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
2.77k
    {
5153
2.77k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
2.77k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
2.77k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
2.77k
        read_source_callback cb_wrapper{helper};
5161
5162
2.77k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
2.77k
        const auto cb = [&](SourceCharT ch) {
5176
2.77k
            return cb_wrapper.on_ascii_only(ch);
5177
2.77k
        };
5178
5179
2.77k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
2.77k
        auto it = read_while_code_unit(range, cb);
5184
2.77k
        return check_nonempty(it, range);
5185
2.77k
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5152
624
    {
5153
624
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
624
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
624
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
624
        read_source_callback cb_wrapper{helper};
5161
5162
624
        if (accepts_nonascii) {
5163
330
            const auto cb = [&](char32_t cp) {
5164
330
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
330
            };
5166
5167
330
            if (is_inverted) {
5168
132
                auto it = read_until_code_point(range, cb);
5169
132
                return check_nonempty(it, range);
5170
132
            }
5171
198
            auto it = read_while_code_point(range, cb);
5172
198
            return check_nonempty(it, range);
5173
330
        }
5174
5175
294
        const auto cb = [&](SourceCharT ch) {
5176
294
            return cb_wrapper.on_ascii_only(ch);
5177
294
        };
5178
5179
294
        if (is_inverted) {
5180
138
            auto it = read_until_code_unit(range, cb);
5181
138
            return check_nonempty(it, range);
5182
138
        }
5183
156
        auto it = read_while_code_unit(range, cb);
5184
156
        return check_nonempty(it, range);
5185
294
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
8.17k
    {
5153
8.17k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
8.17k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
8.17k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
8.17k
        read_source_callback cb_wrapper{helper};
5161
5162
8.17k
        if (accepts_nonascii) {
5163
2.35k
            const auto cb = [&](char32_t cp) {
5164
2.35k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
2.35k
            };
5166
5167
2.35k
            if (is_inverted) {
5168
192
                auto it = read_until_code_point(range, cb);
5169
192
                return check_nonempty(it, range);
5170
192
            }
5171
2.16k
            auto it = read_while_code_point(range, cb);
5172
2.16k
            return check_nonempty(it, range);
5173
2.35k
        }
5174
5175
5.82k
        const auto cb = [&](SourceCharT ch) {
5176
5.82k
            return cb_wrapper.on_ascii_only(ch);
5177
5.82k
        };
5178
5179
5.82k
        if (is_inverted) {
5180
120
            auto it = read_until_code_unit(range, cb);
5181
120
            return check_nonempty(it, range);
5182
120
        }
5183
5.70k
        auto it = read_while_code_unit(range, cb);
5184
5.70k
        return check_nonempty(it, range);
5185
5.82k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
3.94k
    {
5153
3.94k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
3.94k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
3.94k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
3.94k
        read_source_callback cb_wrapper{helper};
5161
5162
3.94k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
3.94k
        const auto cb = [&](SourceCharT ch) {
5176
3.94k
            return cb_wrapper.on_ascii_only(ch);
5177
3.94k
        };
5178
5179
3.94k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
3.94k
        auto it = read_while_code_unit(range, cb);
5184
3.94k
        return check_nonempty(it, range);
5185
3.94k
    }
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5152
180
    {
5153
180
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
180
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
180
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
180
        read_source_callback cb_wrapper{helper};
5161
5162
180
        if (accepts_nonascii) {
5163
108
            const auto cb = [&](char32_t cp) {
5164
108
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
108
            };
5166
5167
108
            if (is_inverted) {
5168
84
                auto it = read_until_code_point(range, cb);
5169
84
                return check_nonempty(it, range);
5170
84
            }
5171
24
            auto it = read_while_code_point(range, cb);
5172
24
            return check_nonempty(it, range);
5173
108
        }
5174
5175
72
        const auto cb = [&](SourceCharT ch) {
5176
72
            return cb_wrapper.on_ascii_only(ch);
5177
72
        };
5178
5179
72
        if (is_inverted) {
5180
42
            auto it = read_until_code_unit(range, cb);
5181
42
            return check_nonempty(it, range);
5182
42
        }
5183
30
        auto it = read_while_code_unit(range, cb);
5184
30
        return check_nonempty(it, range);
5185
72
    }
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
8.23k
    {
5153
8.23k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
8.23k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
8.23k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
8.23k
        read_source_callback cb_wrapper{helper};
5161
5162
8.23k
        if (accepts_nonascii) {
5163
258
            const auto cb = [&](char32_t cp) {
5164
258
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
258
            };
5166
5167
258
            if (is_inverted) {
5168
84
                auto it = read_until_code_point(range, cb);
5169
84
                return check_nonempty(it, range);
5170
84
            }
5171
174
            auto it = read_while_code_point(range, cb);
5172
174
            return check_nonempty(it, range);
5173
258
        }
5174
5175
7.97k
        const auto cb = [&](SourceCharT ch) {
5176
7.97k
            return cb_wrapper.on_ascii_only(ch);
5177
7.97k
        };
5178
5179
7.97k
        if (is_inverted) {
5180
30
            auto it = read_until_code_unit(range, cb);
5181
30
            return check_nonempty(it, range);
5182
30
        }
5183
7.94k
        auto it = read_while_code_unit(range, cb);
5184
7.94k
        return check_nonempty(it, range);
5185
7.97k
    }
5186
5187
    template <typename Iterator, typename Range>
5188
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5189
                                                  Range range)
5190
23.9k
    {
5191
23.9k
        if (it == range.begin()) {
5192
18.5k
            return unexpected_scan_error(
5193
18.5k
                scan_error::invalid_scanned_value,
5194
18.5k
                "No characters matched in [character set]");
5195
18.5k
        }
5196
5197
5.43k
        return it;
5198
23.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
2.77k
    {
5191
2.77k
        if (it == range.begin()) {
5192
1.93k
            return unexpected_scan_error(
5193
1.93k
                scan_error::invalid_scanned_value,
5194
1.93k
                "No characters matched in [character set]");
5195
1.93k
        }
5196
5197
838
        return it;
5198
2.77k
    }
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5190
624
    {
5191
624
        if (it == range.begin()) {
5192
36
            return unexpected_scan_error(
5193
36
                scan_error::invalid_scanned_value,
5194
36
                "No characters matched in [character set]");
5195
36
        }
5196
5197
588
        return it;
5198
624
    }
scn::v3::scan_expected<char const*> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5190
8.17k
    {
5191
8.17k
        if (it == range.begin()) {
5192
4.84k
            return unexpected_scan_error(
5193
4.84k
                scan_error::invalid_scanned_value,
5194
4.84k
                "No characters matched in [character set]");
5195
4.84k
        }
5196
5197
3.33k
        return it;
5198
8.17k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
3.94k
    {
5191
3.94k
        if (it == range.begin()) {
5192
3.86k
            return unexpected_scan_error(
5193
3.86k
                scan_error::invalid_scanned_value,
5194
3.86k
                "No characters matched in [character set]");
5195
3.86k
        }
5196
5197
78
        return it;
5198
3.94k
    }
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5190
180
    {
5191
180
        if (it == range.begin()) {
5192
30
            return unexpected_scan_error(
5193
30
                scan_error::invalid_scanned_value,
5194
30
                "No characters matched in [character set]");
5195
30
        }
5196
5197
150
        return it;
5198
180
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5190
8.23k
    {
5191
8.23k
        if (it == range.begin()) {
5192
7.79k
            return unexpected_scan_error(
5193
7.79k
                scan_error::invalid_scanned_value,
5194
7.79k
                "No characters matched in [character set]");
5195
7.79k
        }
5196
5197
444
        return it;
5198
8.23k
    }
5199
};
5200
5201
template <typename SourceCharT>
5202
class string_reader
5203
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5204
public:
5205
2.63M
    constexpr string_reader() = default;
scn::v3::impl::string_reader<char>::string_reader()
Line
Count
Source
5205
444k
    constexpr string_reader() = default;
scn::v3::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5205
2.18M
    constexpr string_reader() = default;
5206
5207
    void check_specs_impl(const detail::format_specs& specs,
5208
                          reader_error_handler& eh)
5209
1.09M
    {
5210
1.09M
        detail::check_string_type_specs(specs, eh);
5211
5212
1.09M
        SCN_GCC_PUSH
5213
1.09M
        SCN_GCC_IGNORE("-Wswitch")
5214
1.09M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
1.09M
        SCN_CLANG_PUSH
5217
1.09M
        SCN_CLANG_IGNORE("-Wswitch")
5218
1.09M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
1.09M
        switch (specs.type) {
5221
2.74k
            case detail::presentation_type::none:
5222
2.74k
                m_type = reader_type::word;
5223
2.74k
                break;
5224
5225
1.02M
            case detail::presentation_type::string: {
5226
1.02M
                if (specs.align == detail::align_type::left ||
5227
1.02M
                    specs.align == detail::align_type::center) {
5228
510
                    m_type = reader_type::custom_word;
5229
510
                }
5230
1.02M
                else {
5231
1.02M
                    m_type = reader_type::word;
5232
1.02M
                }
5233
1.02M
                break;
5234
0
            }
5235
5236
17.5k
            case detail::presentation_type::character:
5237
17.5k
                m_type = reader_type::character;
5238
17.5k
                break;
5239
5240
23.9k
            case detail::presentation_type::string_set:
5241
23.9k
                m_type = reader_type::character_set;
5242
23.9k
                break;
5243
5244
15.4k
            case detail::presentation_type::regex:
5245
15.4k
                m_type = reader_type::regex;
5246
15.4k
                break;
5247
5248
1.29k
            case detail::presentation_type::regex_escaped:
5249
1.29k
                m_type = reader_type::regex_escaped;
5250
1.29k
                break;
5251
1.09M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
1.09M
    }
scn::v3::impl::string_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
196k
    {
5210
196k
        detail::check_string_type_specs(specs, eh);
5211
5212
196k
        SCN_GCC_PUSH
5213
196k
        SCN_GCC_IGNORE("-Wswitch")
5214
196k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
196k
        SCN_CLANG_PUSH
5217
196k
        SCN_CLANG_IGNORE("-Wswitch")
5218
196k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
196k
        switch (specs.type) {
5221
1.48k
            case detail::presentation_type::none:
5222
1.48k
                m_type = reader_type::word;
5223
1.48k
                break;
5224
5225
166k
            case detail::presentation_type::string: {
5226
166k
                if (specs.align == detail::align_type::left ||
5227
166k
                    specs.align == detail::align_type::center) {
5228
318
                    m_type = reader_type::custom_word;
5229
318
                }
5230
165k
                else {
5231
165k
                    m_type = reader_type::word;
5232
165k
                }
5233
166k
                break;
5234
0
            }
5235
5236
5.90k
            case detail::presentation_type::character:
5237
5.90k
                m_type = reader_type::character;
5238
5.90k
                break;
5239
5240
11.5k
            case detail::presentation_type::string_set:
5241
11.5k
                m_type = reader_type::character_set;
5242
11.5k
                break;
5243
5244
10.0k
            case detail::presentation_type::regex:
5245
10.0k
                m_type = reader_type::regex;
5246
10.0k
                break;
5247
5248
1.09k
            case detail::presentation_type::regex_escaped:
5249
1.09k
                m_type = reader_type::regex_escaped;
5250
1.09k
                break;
5251
196k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
196k
    }
scn::v3::impl::string_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
893k
    {
5210
893k
        detail::check_string_type_specs(specs, eh);
5211
5212
893k
        SCN_GCC_PUSH
5213
893k
        SCN_GCC_IGNORE("-Wswitch")
5214
893k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
893k
        SCN_CLANG_PUSH
5217
893k
        SCN_CLANG_IGNORE("-Wswitch")
5218
893k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
893k
        switch (specs.type) {
5221
1.26k
            case detail::presentation_type::none:
5222
1.26k
                m_type = reader_type::word;
5223
1.26k
                break;
5224
5225
862k
            case detail::presentation_type::string: {
5226
862k
                if (specs.align == detail::align_type::left ||
5227
862k
                    specs.align == detail::align_type::center) {
5228
192
                    m_type = reader_type::custom_word;
5229
192
                }
5230
862k
                else {
5231
862k
                    m_type = reader_type::word;
5232
862k
                }
5233
862k
                break;
5234
0
            }
5235
5236
11.6k
            case detail::presentation_type::character:
5237
11.6k
                m_type = reader_type::character;
5238
11.6k
                break;
5239
5240
12.3k
            case detail::presentation_type::string_set:
5241
12.3k
                m_type = reader_type::character_set;
5242
12.3k
                break;
5243
5244
5.40k
            case detail::presentation_type::regex:
5245
5.40k
                m_type = reader_type::regex;
5246
5.40k
                break;
5247
5248
192
            case detail::presentation_type::regex_escaped:
5249
192
                m_type = reader_type::regex_escaped;
5250
192
                break;
5251
893k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
893k
    }
5256
5257
    bool skip_ws_before_read() const
5258
3.62M
    {
5259
3.62M
        return m_type == reader_type::word;
5260
3.62M
    }
scn::v3::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5258
603k
    {
5259
603k
        return m_type == reader_type::word;
5260
603k
    }
scn::v3::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5258
3.02M
    {
5259
3.02M
        return m_type == reader_type::word;
5260
3.02M
    }
5261
5262
    template <typename Range, typename Value>
5263
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5264
        -> scan_expected<ranges::const_iterator_t<Range>>
5265
1.53M
    {
5266
1.53M
        SCN_UNUSED(loc);
5267
1.53M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
1.53M
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
78.1k
    {
5266
78.1k
        SCN_UNUSED(loc);
5267
78.1k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
78.1k
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
78.1k
    {
5266
78.1k
        SCN_UNUSED(loc);
5267
78.1k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
78.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
634
    {
5266
634
        SCN_UNUSED(loc);
5267
634
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
634
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
88.2k
    {
5266
88.2k
        SCN_UNUSED(loc);
5267
88.2k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
88.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
482
    {
5266
482
        SCN_UNUSED(loc);
5267
482
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
482
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
430k
    {
5266
430k
        SCN_UNUSED(loc);
5267
430k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
430k
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
430k
    {
5266
430k
        SCN_UNUSED(loc);
5267
430k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
430k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
429k
    {
5266
429k
        SCN_UNUSED(loc);
5267
429k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
429k
    }
5269
5270
    template <typename Range, typename Value>
5271
    auto read_specs(Range range,
5272
                    const detail::format_specs& specs,
5273
                    Value& value,
5274
                    detail::locale_ref loc)
5275
        -> scan_expected<ranges::const_iterator_t<Range>>
5276
1.06M
    {
5277
1.06M
        SCN_UNUSED(loc);
5278
1.06M
        return read_impl(range, specs, value);
5279
1.06M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
62.6k
    {
5277
62.6k
        SCN_UNUSED(loc);
5278
62.6k
        return read_impl(range, specs, value);
5279
62.6k
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
672
    {
5277
672
        SCN_UNUSED(loc);
5278
672
        return read_impl(range, specs, value);
5279
672
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
59.2k
    {
5277
59.2k
        SCN_UNUSED(loc);
5278
59.2k
        return read_impl(range, specs, value);
5279
59.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
672
    {
5277
672
        SCN_UNUSED(loc);
5278
672
        return read_impl(range, specs, value);
5279
672
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
4.79k
    {
5277
4.79k
        SCN_UNUSED(loc);
5278
4.79k
        return read_impl(range, specs, value);
5279
4.79k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
672
    {
5277
672
        SCN_UNUSED(loc);
5278
672
        return read_impl(range, specs, value);
5279
672
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
59.2k
    {
5277
59.2k
        SCN_UNUSED(loc);
5278
59.2k
        return read_impl(range, specs, value);
5279
59.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
206
    {
5277
206
        SCN_UNUSED(loc);
5278
206
        return read_impl(range, specs, value);
5279
206
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
2.34k
    {
5277
2.34k
        SCN_UNUSED(loc);
5278
2.34k
        return read_impl(range, specs, value);
5279
2.34k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
290k
    {
5277
290k
        SCN_UNUSED(loc);
5278
290k
        return read_impl(range, specs, value);
5279
290k
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
206
    {
5277
206
        SCN_UNUSED(loc);
5278
206
        return read_impl(range, specs, value);
5279
206
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
292k
    {
5277
292k
        SCN_UNUSED(loc);
5278
292k
        return read_impl(range, specs, value);
5279
292k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
206
    {
5277
206
        SCN_UNUSED(loc);
5278
206
        return read_impl(range, specs, value);
5279
206
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
292k
    {
5277
292k
        SCN_UNUSED(loc);
5278
292k
        return read_impl(range, specs, value);
5279
292k
    }
5280
5281
protected:
5282
    enum class reader_type {
5283
        word,
5284
        custom_word,
5285
        character,
5286
        character_set,
5287
        regex,
5288
        regex_escaped,
5289
    };
5290
5291
    template <typename Range, typename Value>
5292
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5293
        -> scan_expected<ranges::const_iterator_t<Range>>
5294
1.06M
    {
5295
1.06M
        SCN_CLANG_PUSH
5296
1.06M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.06M
        switch (m_type) {
5299
1.02M
            case reader_type::word:
5300
1.02M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
504
            case reader_type::custom_word:
5303
504
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
504
                                                                   value);
5305
5306
144
            case reader_type::character:
5307
144
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
23.9k
            case reader_type::character_set:
5310
23.9k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
23.9k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
15.4k
            case reader_type::regex:
5315
15.4k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
15.4k
                    range, specs.charset_string<SourceCharT>(),
5317
15.4k
                    specs.regexp_flags, value);
5318
5319
1.29k
            case reader_type::regex_escaped:
5320
1.29k
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
1.29k
                    range,
5322
1.29k
                    get_unescaped_regex_pattern(
5323
1.29k
                        specs.charset_string<SourceCharT>()),
5324
1.29k
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.06M
                SCN_UNREACHABLE;
5330
1.06M
        }
5331
5332
1.06M
        SCN_CLANG_POP
5333
1.06M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
62.6k
    {
5295
62.6k
        SCN_CLANG_PUSH
5296
62.6k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
62.6k
        switch (m_type) {
5299
59.9k
            case reader_type::word:
5300
59.9k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
2.77k
            case reader_type::character_set:
5310
2.77k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
2.77k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
62.6k
                SCN_UNREACHABLE;
5330
62.6k
        }
5331
5332
62.6k
        SCN_CLANG_POP
5333
62.6k
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
672
    {
5295
672
        SCN_CLANG_PUSH
5296
672
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
672
        switch (m_type) {
5299
246
            case reader_type::word:
5300
246
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
54
            case reader_type::custom_word:
5303
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
54
                                                                   value);
5305
5306
32
            case reader_type::character:
5307
32
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
208
            case reader_type::character_set:
5310
208
                return character_set_reader_impl<SourceCharT>{}.read(
5311
208
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
130
            case reader_type::regex_escaped:
5320
130
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
130
                    range,
5322
130
                    get_unescaped_regex_pattern(
5323
130
                        specs.charset_string<SourceCharT>()),
5324
130
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
672
                SCN_UNREACHABLE;
5330
672
        }
5331
5332
672
        SCN_CLANG_POP
5333
672
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
59.2k
    {
5295
59.2k
        SCN_CLANG_PUSH
5296
59.2k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
59.2k
        switch (m_type) {
5299
52.0k
            case reader_type::word:
5300
52.0k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.65k
            case reader_type::character_set:
5310
3.65k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.65k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
3.33k
            case reader_type::regex:
5315
3.33k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
3.33k
                    range, specs.charset_string<SourceCharT>(),
5317
3.33k
                    specs.regexp_flags, value);
5318
5319
236
            case reader_type::regex_escaped:
5320
236
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
236
                    range,
5322
236
                    get_unescaped_regex_pattern(
5323
236
                        specs.charset_string<SourceCharT>()),
5324
236
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
59.2k
                SCN_UNREACHABLE;
5330
59.2k
        }
5331
5332
59.2k
        SCN_CLANG_POP
5333
59.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
672
    {
5295
672
        SCN_CLANG_PUSH
5296
672
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
672
        switch (m_type) {
5299
246
            case reader_type::word:
5300
246
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
54
            case reader_type::custom_word:
5303
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
54
                                                                   value);
5305
5306
32
            case reader_type::character:
5307
32
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
208
            case reader_type::character_set:
5310
208
                return character_set_reader_impl<SourceCharT>{}.read(
5311
208
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
130
            case reader_type::regex_escaped:
5320
130
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
130
                    range,
5322
130
                    get_unescaped_regex_pattern(
5323
130
                        specs.charset_string<SourceCharT>()),
5324
130
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
672
                SCN_UNREACHABLE;
5330
672
        }
5331
5332
672
        SCN_CLANG_POP
5333
672
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.79k
    {
5295
4.79k
        SCN_CLANG_PUSH
5296
4.79k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.79k
        switch (m_type) {
5299
298
            case reader_type::word:
5300
298
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
878
            case reader_type::character_set:
5310
878
                return character_set_reader_impl<SourceCharT>{}.read(
5311
878
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
3.33k
            case reader_type::regex:
5315
3.33k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
3.33k
                    range, specs.charset_string<SourceCharT>(),
5317
3.33k
                    specs.regexp_flags, value);
5318
5319
236
            case reader_type::regex_escaped:
5320
236
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
236
                    range,
5322
236
                    get_unescaped_regex_pattern(
5323
236
                        specs.charset_string<SourceCharT>()),
5324
236
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.79k
                SCN_UNREACHABLE;
5330
4.79k
        }
5331
5332
4.79k
        SCN_CLANG_POP
5333
4.79k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
672
    {
5295
672
        SCN_CLANG_PUSH
5296
672
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
672
        switch (m_type) {
5299
246
            case reader_type::word:
5300
246
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
54
            case reader_type::custom_word:
5303
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
54
                                                                   value);
5305
5306
32
            case reader_type::character:
5307
32
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
208
            case reader_type::character_set:
5310
208
                return character_set_reader_impl<SourceCharT>{}.read(
5311
208
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
130
            case reader_type::regex_escaped:
5320
130
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
130
                    range,
5322
130
                    get_unescaped_regex_pattern(
5323
130
                        specs.charset_string<SourceCharT>()),
5324
130
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
672
                SCN_UNREACHABLE;
5330
672
        }
5331
5332
672
        SCN_CLANG_POP
5333
672
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
59.2k
    {
5295
59.2k
        SCN_CLANG_PUSH
5296
59.2k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
59.2k
        switch (m_type) {
5299
52.0k
            case reader_type::word:
5300
52.0k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.65k
            case reader_type::character_set:
5310
3.65k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.65k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
3.33k
            case reader_type::regex:
5315
3.33k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
3.33k
                    range, specs.charset_string<SourceCharT>(),
5317
3.33k
                    specs.regexp_flags, value);
5318
5319
236
            case reader_type::regex_escaped:
5320
236
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
236
                    range,
5322
236
                    get_unescaped_regex_pattern(
5323
236
                        specs.charset_string<SourceCharT>()),
5324
236
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
59.2k
                SCN_UNREACHABLE;
5330
59.2k
        }
5331
5332
59.2k
        SCN_CLANG_POP
5333
59.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
206
    {
5295
206
        SCN_CLANG_PUSH
5296
206
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
206
        switch (m_type) {
5299
104
            case reader_type::word:
5300
104
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
16
            case reader_type::character:
5307
16
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
60
            case reader_type::character_set:
5310
60
                return character_set_reader_impl<SourceCharT>{}.read(
5311
60
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
206
                SCN_UNREACHABLE;
5330
206
        }
5331
5332
206
        SCN_CLANG_POP
5333
206
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
2.34k
    {
5295
2.34k
        SCN_CLANG_PUSH
5296
2.34k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
2.34k
        switch (m_type) {
5299
328
            case reader_type::word:
5300
328
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
42
            case reader_type::custom_word:
5303
42
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
42
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
114
            case reader_type::character_set:
5310
114
                return character_set_reader_impl<SourceCharT>{}.read(
5311
114
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.79k
            case reader_type::regex:
5315
1.79k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.79k
                    range, specs.charset_string<SourceCharT>(),
5317
1.79k
                    specs.regexp_flags, value);
5318
5319
60
            case reader_type::regex_escaped:
5320
60
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
60
                    range,
5322
60
                    get_unescaped_regex_pattern(
5323
60
                        specs.charset_string<SourceCharT>()),
5324
60
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
2.34k
                SCN_UNREACHABLE;
5330
2.34k
        }
5331
5332
2.34k
        SCN_CLANG_POP
5333
2.34k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
290k
    {
5295
290k
        SCN_CLANG_PUSH
5296
290k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
290k
        switch (m_type) {
5299
286k
            case reader_type::word:
5300
286k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.94k
            case reader_type::character_set:
5310
3.94k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.94k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
290k
                SCN_UNREACHABLE;
5330
290k
        }
5331
5332
290k
        SCN_CLANG_POP
5333
290k
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
206
    {
5295
206
        SCN_CLANG_PUSH
5296
206
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
206
        switch (m_type) {
5299
104
            case reader_type::word:
5300
104
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
16
            case reader_type::character:
5307
16
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
60
            case reader_type::character_set:
5310
60
                return character_set_reader_impl<SourceCharT>{}.read(
5311
60
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
206
                SCN_UNREACHABLE;
5330
206
        }
5331
5332
206
        SCN_CLANG_POP
5333
206
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
292k
    {
5295
292k
        SCN_CLANG_PUSH
5296
292k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
292k
        switch (m_type) {
5299
286k
            case reader_type::word:
5300
286k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
42
            case reader_type::custom_word:
5303
42
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
42
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
4.06k
            case reader_type::character_set:
5310
4.06k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
4.06k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.79k
            case reader_type::regex:
5315
1.79k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.79k
                    range, specs.charset_string<SourceCharT>(),
5317
1.79k
                    specs.regexp_flags, value);
5318
5319
60
            case reader_type::regex_escaped:
5320
60
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
60
                    range,
5322
60
                    get_unescaped_regex_pattern(
5323
60
                        specs.charset_string<SourceCharT>()),
5324
60
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
292k
                SCN_UNREACHABLE;
5330
292k
        }
5331
5332
292k
        SCN_CLANG_POP
5333
292k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
206
    {
5295
206
        SCN_CLANG_PUSH
5296
206
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
206
        switch (m_type) {
5299
104
            case reader_type::word:
5300
104
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
16
            case reader_type::character:
5307
16
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
60
            case reader_type::character_set:
5310
60
                return character_set_reader_impl<SourceCharT>{}.read(
5311
60
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
206
                SCN_UNREACHABLE;
5330
206
        }
5331
5332
206
        SCN_CLANG_POP
5333
206
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
292k
    {
5295
292k
        SCN_CLANG_PUSH
5296
292k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
292k
        switch (m_type) {
5299
286k
            case reader_type::word:
5300
286k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
42
            case reader_type::custom_word:
5303
42
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
42
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
4.06k
            case reader_type::character_set:
5310
4.06k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
4.06k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.79k
            case reader_type::regex:
5315
1.79k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.79k
                    range, specs.charset_string<SourceCharT>(),
5317
1.79k
                    specs.regexp_flags, value);
5318
5319
60
            case reader_type::regex_escaped:
5320
60
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
60
                    range,
5322
60
                    get_unescaped_regex_pattern(
5323
60
                        specs.charset_string<SourceCharT>()),
5324
60
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
292k
                SCN_UNREACHABLE;
5330
292k
        }
5331
5332
292k
        SCN_CLANG_POP
5333
292k
    }
5334
5335
    reader_type m_type{reader_type::word};
5336
};
5337
5338
template <typename SourceCharT>
5339
class reader_impl_for_string : public string_reader<SourceCharT> {};
5340
5341
/////////////////////////////////////////////////////////////////
5342
// Boolean reader
5343
/////////////////////////////////////////////////////////////////
5344
5345
struct bool_reader_base {
5346
    enum options_type { allow_text = 1, allow_numeric = 2 };
5347
5348
1.11k
    constexpr bool_reader_base() = default;
5349
1.30k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5350
5351
    template <typename Range>
5352
    auto read_classic(Range range, bool& value) const
5353
        -> scan_expected<ranges::const_iterator_t<Range>>
5354
2.34k
    {
5355
2.34k
        scan_error err{scan_error::invalid_scanned_value,
5356
2.34k
                       "Failed to read boolean"};
5357
5358
2.34k
        if (m_options & allow_numeric) {
5359
2.09k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
2.09k
            else {
5363
2.09k
                err = r.error();
5364
2.09k
            }
5365
2.09k
        }
5366
5367
2.34k
        if (m_options & allow_text) {
5368
2.26k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
2.26k
            else {
5372
2.26k
                err = r.error();
5373
2.26k
            }
5374
2.26k
        }
5375
5376
2.34k
        return unexpected(err);
5377
2.34k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
1.00k
    {
5355
1.00k
        scan_error err{scan_error::invalid_scanned_value,
5356
1.00k
                       "Failed to read boolean"};
5357
5358
1.00k
        if (m_options & allow_numeric) {
5359
890
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
890
            else {
5363
890
                err = r.error();
5364
890
            }
5365
890
        }
5366
5367
1.00k
        if (m_options & allow_text) {
5368
984
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
984
            else {
5372
984
                err = r.error();
5373
984
            }
5374
984
        }
5375
5376
1.00k
        return unexpected(err);
5377
1.00k
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
324
    {
5355
324
        scan_error err{scan_error::invalid_scanned_value,
5356
324
                       "Failed to read boolean"};
5357
5358
324
        if (m_options & allow_numeric) {
5359
264
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
264
            else {
5363
264
                err = r.error();
5364
264
            }
5365
264
        }
5366
5367
324
        if (m_options & allow_text) {
5368
300
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
300
            else {
5372
300
                err = r.error();
5373
300
            }
5374
300
        }
5375
5376
324
        return unexpected(err);
5377
324
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
872
    {
5355
872
        scan_error err{scan_error::invalid_scanned_value,
5356
872
                       "Failed to read boolean"};
5357
5358
872
        if (m_options & allow_numeric) {
5359
820
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
820
            else {
5363
820
                err = r.error();
5364
820
            }
5365
820
        }
5366
5367
872
        if (m_options & allow_text) {
5368
852
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
852
            else {
5372
852
                err = r.error();
5373
852
            }
5374
852
        }
5375
5376
872
        return unexpected(err);
5377
872
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
144
    {
5355
144
        scan_error err{scan_error::invalid_scanned_value,
5356
144
                       "Failed to read boolean"};
5357
5358
144
        if (m_options & allow_numeric) {
5359
120
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
120
            else {
5363
120
                err = r.error();
5364
120
            }
5365
120
        }
5366
5367
144
        if (m_options & allow_text) {
5368
124
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
124
            else {
5372
124
                err = r.error();
5373
124
            }
5374
124
        }
5375
5376
144
        return unexpected(err);
5377
144
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5378
5379
protected:
5380
    template <typename Range>
5381
    auto read_numeric(Range range, bool& value) const
5382
        -> scan_expected<ranges::const_iterator_t<Range>>
5383
2.15k
    {
5384
2.15k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
2.15k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
2.15k
        return unexpected_scan_error(
5394
2.15k
            scan_error::invalid_scanned_value,
5395
2.15k
            "Failed to read numeric boolean value: No match");
5396
2.15k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
906
    {
5384
906
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
906
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
906
        return unexpected_scan_error(
5394
906
            scan_error::invalid_scanned_value,
5395
906
            "Failed to read numeric boolean value: No match");
5396
906
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
274
    {
5384
274
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
274
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
274
        return unexpected_scan_error(
5394
274
            scan_error::invalid_scanned_value,
5395
274
            "Failed to read numeric boolean value: No match");
5396
274
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
838
    {
5384
838
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
838
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
838
        return unexpected_scan_error(
5394
838
            scan_error::invalid_scanned_value,
5395
838
            "Failed to read numeric boolean value: No match");
5396
838
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
134
    {
5384
134
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
134
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
134
        return unexpected_scan_error(
5394
134
            scan_error::invalid_scanned_value,
5395
134
            "Failed to read numeric boolean value: No match");
5396
134
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5397
5398
    template <typename Range>
5399
    auto read_textual_classic(Range range, bool& value) const
5400
        -> scan_expected<ranges::const_iterator_t<Range>>
5401
2.26k
    {
5402
2.26k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
2.26k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
2.26k
        return unexpected_scan_error(
5412
2.26k
            scan_error::invalid_scanned_value,
5413
2.26k
            "Failed to read textual boolean value: No match");
5414
2.26k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
984
    {
5402
984
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
984
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
984
        return unexpected_scan_error(
5412
984
            scan_error::invalid_scanned_value,
5413
984
            "Failed to read textual boolean value: No match");
5414
984
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
300
    {
5402
300
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
300
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
300
        return unexpected_scan_error(
5412
300
            scan_error::invalid_scanned_value,
5413
300
            "Failed to read textual boolean value: No match");
5414
300
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
852
    {
5402
852
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
852
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
852
        return unexpected_scan_error(
5412
852
            scan_error::invalid_scanned_value,
5413
852
            "Failed to read textual boolean value: No match");
5414
852
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
124
    {
5402
124
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
124
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
124
        return unexpected_scan_error(
5412
124
            scan_error::invalid_scanned_value,
5413
124
            "Failed to read textual boolean value: No match");
5414
124
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5415
5416
    unsigned m_options{allow_text | allow_numeric};
5417
};
5418
5419
template <typename CharT>
5420
struct bool_reader : public bool_reader_base {
5421
    using bool_reader_base::bool_reader_base;
5422
5423
#if !SCN_DISABLE_LOCALE
5424
    template <typename Range>
5425
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5426
        -> scan_expected<ranges::const_iterator_t<Range>>
5427
72
    {
5428
72
        scan_error err{scan_error::invalid_scanned_value,
5429
72
                       "Failed to read boolean"};
5430
5431
72
        if (m_options & allow_numeric) {
5432
58
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
58
            else {
5436
58
                err = r.error();
5437
58
            }
5438
58
        }
5439
5440
72
        if (m_options & allow_text) {
5441
40
            auto stdloc = loc.get<std::locale>();
5442
40
            const auto& numpunct =
5443
40
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
40
            const auto truename = numpunct.truename();
5445
40
            const auto falsename = numpunct.falsename();
5446
5447
40
            if (auto r =
5448
40
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
40
            else {
5452
40
                err = r.error();
5453
40
            }
5454
40
        }
5455
5456
72
        return unexpected(err);
5457
72
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
12
    {
5428
12
        scan_error err{scan_error::invalid_scanned_value,
5429
12
                       "Failed to read boolean"};
5430
5431
12
        if (m_options & allow_numeric) {
5432
10
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
10
            else {
5436
10
                err = r.error();
5437
10
            }
5438
10
        }
5439
5440
12
        if (m_options & allow_text) {
5441
10
            auto stdloc = loc.get<std::locale>();
5442
10
            const auto& numpunct =
5443
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
10
            const auto truename = numpunct.truename();
5445
10
            const auto falsename = numpunct.falsename();
5446
5447
10
            if (auto r =
5448
10
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
10
            else {
5452
10
                err = r.error();
5453
10
            }
5454
10
        }
5455
5456
12
        return unexpected(err);
5457
12
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
24
    {
5428
24
        scan_error err{scan_error::invalid_scanned_value,
5429
24
                       "Failed to read boolean"};
5430
5431
24
        if (m_options & allow_numeric) {
5432
16
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
16
            else {
5436
16
                err = r.error();
5437
16
            }
5438
16
        }
5439
5440
24
        if (m_options & allow_text) {
5441
14
            auto stdloc = loc.get<std::locale>();
5442
14
            const auto& numpunct =
5443
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
14
            const auto truename = numpunct.truename();
5445
14
            const auto falsename = numpunct.falsename();
5446
5447
14
            if (auto r =
5448
14
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
14
            else {
5452
14
                err = r.error();
5453
14
            }
5454
14
        }
5455
5456
24
        return unexpected(err);
5457
24
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
16
    {
5428
16
        scan_error err{scan_error::invalid_scanned_value,
5429
16
                       "Failed to read boolean"};
5430
5431
16
        if (m_options & allow_numeric) {
5432
14
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
14
            else {
5436
14
                err = r.error();
5437
14
            }
5438
14
        }
5439
5440
16
        if (m_options & allow_text) {
5441
8
            auto stdloc = loc.get<std::locale>();
5442
8
            const auto& numpunct =
5443
8
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
8
            const auto truename = numpunct.truename();
5445
8
            const auto falsename = numpunct.falsename();
5446
5447
8
            if (auto r =
5448
8
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
8
            else {
5452
8
                err = r.error();
5453
8
            }
5454
8
        }
5455
5456
16
        return unexpected(err);
5457
16
    }
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
20
    {
5428
20
        scan_error err{scan_error::invalid_scanned_value,
5429
20
                       "Failed to read boolean"};
5430
5431
20
        if (m_options & allow_numeric) {
5432
18
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
18
            else {
5436
18
                err = r.error();
5437
18
            }
5438
18
        }
5439
5440
20
        if (m_options & allow_text) {
5441
8
            auto stdloc = loc.get<std::locale>();
5442
8
            const auto& numpunct =
5443
8
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
8
            const auto truename = numpunct.truename();
5445
8
            const auto falsename = numpunct.falsename();
5446
5447
8
            if (auto r =
5448
8
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
8
            else {
5452
8
                err = r.error();
5453
8
            }
5454
8
        }
5455
5456
20
        return unexpected(err);
5457
20
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5458
#endif
5459
5460
protected:
5461
    template <typename Range>
5462
    auto read_textual_custom(Range range,
5463
                             bool& value,
5464
                             std::basic_string_view<CharT> truename,
5465
                             std::basic_string_view<CharT> falsename) const
5466
        -> scan_expected<ranges::const_iterator_t<Range>>
5467
40
    {
5468
40
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
40
        const auto shorter = std::pair{
5470
40
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
40
        const auto longer = std::pair{
5472
40
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
40
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
40
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
40
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
40
                                     "read_textual: No match");
5485
40
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5467
10
    {
5468
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
10
        const auto shorter = std::pair{
5470
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
10
        const auto longer = std::pair{
5472
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
10
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
10
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
10
                                     "read_textual: No match");
5485
10
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5467
14
    {
5468
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
14
        const auto shorter = std::pair{
5470
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
14
        const auto longer = std::pair{
5472
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
14
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
14
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
14
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
14
                                     "read_textual: No match");
5485
14
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5467
8
    {
5468
8
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
8
        const auto shorter = std::pair{
5470
8
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
8
        const auto longer = std::pair{
5472
8
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
8
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
8
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
8
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
8
                                     "read_textual: No match");
5485
8
    }
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5467
8
    {
5468
8
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
8
        const auto shorter = std::pair{
5470
8
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
8
        const auto longer = std::pair{
5472
8
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
8
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
8
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
8
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
8
                                     "read_textual: No match");
5485
8
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5486
};
5487
5488
template <typename CharT>
5489
class reader_impl_for_bool
5490
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5491
public:
5492
    reader_impl_for_bool() = default;
5493
5494
    void check_specs_impl(const detail::format_specs& specs,
5495
                          reader_error_handler& eh)
5496
8.32k
    {
5497
8.32k
        detail::check_bool_type_specs(specs, eh);
5498
8.32k
    }
scn::v3::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
5.66k
    {
5497
5.66k
        detail::check_bool_type_specs(specs, eh);
5498
5.66k
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
2.66k
    {
5497
2.66k
        detail::check_bool_type_specs(specs, eh);
5498
2.66k
    }
5499
5500
    template <typename Range>
5501
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5502
        -> scan_expected<ranges::const_iterator_t<Range>>
5503
1.11k
    {
5504
1.11k
        SCN_UNUSED(loc);
5505
5506
1.11k
        return bool_reader<CharT>{}.read_classic(range, value);
5507
1.11k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
634
    {
5504
634
        SCN_UNUSED(loc);
5505
5506
634
        return bool_reader<CharT>{}.read_classic(range, value);
5507
634
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
482
    {
5504
482
        SCN_UNUSED(loc);
5505
5506
482
        return bool_reader<CharT>{}.read_classic(range, value);
5507
482
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5508
5509
    template <typename Range>
5510
    auto read_specs(Range range,
5511
                    const detail::format_specs& specs,
5512
                    bool& value,
5513
                    detail::locale_ref loc) const
5514
        -> scan_expected<ranges::const_iterator_t<Range>>
5515
1.30k
    {
5516
1.30k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
1.30k
#if !SCN_DISABLE_LOCALE
5519
1.30k
        if (specs.localized) {
5520
72
            return rd.read_localized(range, loc, value);
5521
72
        }
5522
1.23k
#endif
5523
5524
1.23k
        return rd.read_classic(range, value);
5525
1.30k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
336
    {
5516
336
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
336
#if !SCN_DISABLE_LOCALE
5519
336
        if (specs.localized) {
5520
12
            return rd.read_localized(range, loc, value);
5521
12
        }
5522
324
#endif
5523
5524
324
        return rd.read_classic(range, value);
5525
336
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
396
    {
5516
396
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
396
#if !SCN_DISABLE_LOCALE
5519
396
        if (specs.localized) {
5520
24
            return rd.read_localized(range, loc, value);
5521
24
        }
5522
372
#endif
5523
5524
372
        return rd.read_classic(range, value);
5525
396
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
160
    {
5516
160
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
160
#if !SCN_DISABLE_LOCALE
5519
160
        if (specs.localized) {
5520
16
            return rd.read_localized(range, loc, value);
5521
16
        }
5522
144
#endif
5523
5524
144
        return rd.read_classic(range, value);
5525
160
    }
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
410
    {
5516
410
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
410
#if !SCN_DISABLE_LOCALE
5519
410
        if (specs.localized) {
5520
20
            return rd.read_localized(range, loc, value);
5521
20
        }
5522
390
#endif
5523
5524
390
        return rd.read_classic(range, value);
5525
410
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5526
5527
    static constexpr unsigned get_options(const detail::format_specs& specs)
5528
1.30k
    {
5529
1.30k
        SCN_GCC_COMPAT_PUSH
5530
1.30k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
1.30k
        switch (specs.type) {
5533
266
            case detail::presentation_type::string:
5534
266
                return bool_reader_base::allow_text;
5535
5536
26
            case detail::presentation_type::int_generic:
5537
42
            case detail::presentation_type::int_binary:
5538
56
            case detail::presentation_type::int_decimal:
5539
78
            case detail::presentation_type::int_hex:
5540
102
            case detail::presentation_type::int_octal:
5541
118
            case detail::presentation_type::int_unsigned_decimal:
5542
118
                return bool_reader_base::allow_numeric;
5543
5544
918
            default:
5545
918
                return bool_reader_base::allow_text |
5546
918
                       bool_reader_base::allow_numeric;
5547
1.30k
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
1.30k
    }
scn::v3::impl::reader_impl_for_bool<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
732
    {
5529
732
        SCN_GCC_COMPAT_PUSH
5530
732
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
732
        switch (specs.type) {
5533
186
            case detail::presentation_type::string:
5534
186
                return bool_reader_base::allow_text;
5535
5536
12
            case detail::presentation_type::int_generic:
5537
20
            case detail::presentation_type::int_binary:
5538
26
            case detail::presentation_type::int_decimal:
5539
38
            case detail::presentation_type::int_hex:
5540
54
            case detail::presentation_type::int_octal:
5541
58
            case detail::presentation_type::int_unsigned_decimal:
5542
58
                return bool_reader_base::allow_numeric;
5543
5544
488
            default:
5545
488
                return bool_reader_base::allow_text |
5546
488
                       bool_reader_base::allow_numeric;
5547
732
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
732
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
570
    {
5529
570
        SCN_GCC_COMPAT_PUSH
5530
570
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
570
        switch (specs.type) {
5533
80
            case detail::presentation_type::string:
5534
80
                return bool_reader_base::allow_text;
5535
5536
14
            case detail::presentation_type::int_generic:
5537
22
            case detail::presentation_type::int_binary:
5538
30
            case detail::presentation_type::int_decimal:
5539
40
            case detail::presentation_type::int_hex:
5540
48
            case detail::presentation_type::int_octal:
5541
60
            case detail::presentation_type::int_unsigned_decimal:
5542
60
                return bool_reader_base::allow_numeric;
5543
5544
430
            default:
5545
430
                return bool_reader_base::allow_text |
5546
430
                       bool_reader_base::allow_numeric;
5547
570
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
570
    }
5551
};
5552
5553
/////////////////////////////////////////////////////////////////
5554
// Character (code unit, code point) reader
5555
/////////////////////////////////////////////////////////////////
5556
5557
template <typename CharT>
5558
class code_unit_reader {
5559
public:
5560
    template <typename SourceRange>
5561
    auto read(const SourceRange& range, CharT& ch)
5562
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5563
2.02k
    {
5564
2.02k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
2.02k
        ch = *range.begin();
5566
2.02k
        return it;
5567
2.02k
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5563
256
    {
5564
256
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
256
        ch = *range.begin();
5566
256
        return it;
5567
256
    }
_ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5563
868
    {
5564
868
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
868
        ch = *range.begin();
5566
868
        return it;
5567
868
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5563
100
    {
5564
100
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
100
        ch = *range.begin();
5566
100
        return it;
5567
100
    }
_ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5563
800
    {
5564
800
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
800
        ch = *range.begin();
5566
800
        return it;
5567
800
    }
5568
};
5569
5570
template <typename CharT>
5571
class code_point_reader;
5572
5573
template <>
5574
class code_point_reader<char32_t> {
5575
public:
5576
    template <typename SourceRange>
5577
    auto read(const SourceRange& range, char32_t& cp)
5578
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5579
0
    {
5580
0
        auto result = read_code_point_into(range);
5581
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5582
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
5583
0
                                         "Invalid code point");
5584
0
        }
5585
0
        cp = detail::decode_code_point_exhaustive_valid(
5586
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5587
0
                result.codepoint});
5588
0
        return result.iterator;
5589
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5590
};
5591
5592
template <>
5593
class code_point_reader<wchar_t> {
5594
public:
5595
    template <typename SourceRange>
5596
    auto read(const SourceRange& range, wchar_t& ch)
5597
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5598
0
    {
5599
0
        code_point_reader<char32_t> reader{};
5600
0
        char32_t cp{};
5601
0
        auto ret = reader.read(range, cp);
5602
0
        if (SCN_UNLIKELY(!ret)) {
5603
0
            return unexpected(ret.error());
5604
0
        }
5605
5606
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5607
0
        ch = encoded_ch;
5608
0
        return *ret;
5609
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5610
};
5611
5612
template <typename ValueCharT>
5613
class char_reader_base {
5614
public:
5615
    constexpr char_reader_base() = default;
5616
5617
    bool skip_ws_before_read() const
5618
3.03k
    {
5619
3.03k
        return false;
5620
3.03k
    }
scn::v3::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5618
1.67k
    {
5619
1.67k
        return false;
5620
1.67k
    }
scn::v3::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5618
1.36k
    {
5619
1.36k
        return false;
5620
1.36k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5621
5622
    static scan_error check_specs(const detail::format_specs& specs)
5623
8.25k
    {
5624
8.25k
        reader_error_handler eh{};
5625
8.25k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
8.25k
            detail::check_code_point_type_specs(specs, eh);
5627
8.25k
        }
5628
8.25k
        else {
5629
8.25k
            detail::check_char_type_specs(specs, eh);
5630
8.25k
        }
5631
8.25k
        if (SCN_UNLIKELY(!eh)) {
5632
7.24k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
7.24k
        }
5634
1.01k
        return {};
5635
8.25k
    }
scn::v3::impl::char_reader_base<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
5.62k
    {
5624
5.62k
        reader_error_handler eh{};
5625
5.62k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
5.62k
            detail::check_code_point_type_specs(specs, eh);
5627
5.62k
        }
5628
5.62k
        else {
5629
5.62k
            detail::check_char_type_specs(specs, eh);
5630
5.62k
        }
5631
5.62k
        if (SCN_UNLIKELY(!eh)) {
5632
5.07k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
5.07k
        }
5634
550
        return {};
5635
5.62k
    }
scn::v3::impl::char_reader_base<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
2.63k
    {
5624
2.63k
        reader_error_handler eh{};
5625
2.63k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
2.63k
            detail::check_code_point_type_specs(specs, eh);
5627
2.63k
        }
5628
2.63k
        else {
5629
2.63k
            detail::check_char_type_specs(specs, eh);
5630
2.63k
        }
5631
2.63k
        if (SCN_UNLIKELY(!eh)) {
5632
2.17k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
2.17k
        }
5634
460
        return {};
5635
2.63k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::check_specs(scn::v3::detail::format_specs const&)
5636
};
5637
5638
template <typename CharT>
5639
class reader_impl_for_char : public char_reader_base<char> {
5640
public:
5641
    template <typename Range>
5642
    auto read_default(Range range, char& value, detail::locale_ref loc)
5643
        -> scan_expected<ranges::const_iterator_t<Range>>
5644
1.12k
    {
5645
1.12k
        SCN_UNUSED(loc);
5646
1.12k
        if constexpr (std::is_same_v<CharT, char>) {
5647
0
            return code_unit_reader<char>{}.read(range, value);
5648
0
        }
5649
0
        else {
5650
0
            SCN_UNUSED(range);
5651
0
            SCN_EXPECT(false);
5652
0
            SCN_UNREACHABLE;
5653
0
        }
5654
1.12k
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5644
256
    {
5645
256
        SCN_UNUSED(loc);
5646
256
        if constexpr (std::is_same_v<CharT, char>) {
5647
256
            return code_unit_reader<char>{}.read(range, value);
5648
256
        }
5649
256
        else {
5650
256
            SCN_UNUSED(range);
5651
256
            SCN_EXPECT(false);
5652
256
            SCN_UNREACHABLE;
5653
256
        }
5654
256
    }
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5644
868
    {
5645
868
        SCN_UNUSED(loc);
5646
868
        if constexpr (std::is_same_v<CharT, char>) {
5647
868
            return code_unit_reader<char>{}.read(range, value);
5648
868
        }
5649
868
        else {
5650
868
            SCN_UNUSED(range);
5651
868
            SCN_EXPECT(false);
5652
868
            SCN_UNREACHABLE;
5653
868
        }
5654
868
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5655
5656
    template <typename Range>
5657
    auto read_specs(Range range,
5658
                    const detail::format_specs& specs,
5659
                    char& value,
5660
                    detail::locale_ref loc)
5661
        -> scan_expected<ranges::const_iterator_t<Range>>
5662
544
    {
5663
544
        if (specs.type == detail::presentation_type::none ||
5664
544
            specs.type == detail::presentation_type::character) {
5665
490
            return read_default(range, value, loc);
5666
490
        }
5667
5668
54
        reader_impl_for_int<CharT> reader{};
5669
54
        signed char tmp_value{};
5670
54
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
54
        value = static_cast<signed char>(value);
5672
54
        return ret;
5673
544
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5662
288
    {
5663
288
        if (specs.type == detail::presentation_type::none ||
5664
288
            specs.type == detail::presentation_type::character) {
5665
256
            return read_default(range, value, loc);
5666
256
        }
5667
5668
32
        reader_impl_for_int<CharT> reader{};
5669
32
        signed char tmp_value{};
5670
32
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
32
        value = static_cast<signed char>(value);
5672
32
        return ret;
5673
288
    }
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5662
256
    {
5663
256
        if (specs.type == detail::presentation_type::none ||
5664
256
            specs.type == detail::presentation_type::character) {
5665
234
            return read_default(range, value, loc);
5666
234
        }
5667
5668
22
        reader_impl_for_int<CharT> reader{};
5669
22
        signed char tmp_value{};
5670
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
22
        value = static_cast<signed char>(value);
5672
22
        return ret;
5673
256
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5674
};
5675
5676
template <typename CharT>
5677
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5678
public:
5679
    template <typename Range>
5680
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5681
        -> scan_expected<ranges::const_iterator_t<Range>>
5682
900
    {
5683
900
        SCN_UNUSED(loc);
5684
900
        if constexpr (std::is_same_v<CharT, char>) {
5685
900
            return code_point_reader<wchar_t>{}.read(range, value);
5686
900
        }
5687
900
        else {
5688
900
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
900
        }
5690
900
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5682
100
    {
5683
100
        SCN_UNUSED(loc);
5684
100
        if constexpr (std::is_same_v<CharT, char>) {
5685
100
            return code_point_reader<wchar_t>{}.read(range, value);
5686
100
        }
5687
100
        else {
5688
100
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
100
        }
5690
100
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5682
800
    {
5683
800
        SCN_UNUSED(loc);
5684
800
        if constexpr (std::is_same_v<CharT, char>) {
5685
800
            return code_point_reader<wchar_t>{}.read(range, value);
5686
800
        }
5687
800
        else {
5688
800
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
800
        }
5690
800
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5691
5692
    template <typename Range>
5693
    auto read_specs(Range range,
5694
                    const detail::format_specs& specs,
5695
                    wchar_t& value,
5696
                    detail::locale_ref loc)
5697
        -> scan_expected<ranges::const_iterator_t<Range>>
5698
458
    {
5699
458
        if (specs.type == detail::presentation_type::none ||
5700
458
            specs.type == detail::presentation_type::character) {
5701
418
            return read_default(range, value, loc);
5702
418
        }
5703
5704
40
        reader_impl_for_int<CharT> reader{};
5705
40
        using integer_type =
5706
40
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
40
        integer_type tmp_value{};
5708
40
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
40
        value = static_cast<integer_type>(value);
5710
40
        return ret;
5711
458
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5698
120
    {
5699
120
        if (specs.type == detail::presentation_type::none ||
5700
120
            specs.type == detail::presentation_type::character) {
5701
100
            return read_default(range, value, loc);
5702
100
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
120
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5698
338
    {
5699
338
        if (specs.type == detail::presentation_type::none ||
5700
338
            specs.type == detail::presentation_type::character) {
5701
318
            return read_default(range, value, loc);
5702
318
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
338
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5712
};
5713
5714
template <typename CharT>
5715
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5716
public:
5717
    template <typename Range>
5718
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5719
        -> scan_expected<ranges::const_iterator_t<Range>>
5720
0
    {
5721
0
        SCN_UNUSED(loc);
5722
0
        return code_point_reader<char32_t>{}.read(range, value);
5723
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5724
5725
    template <typename Range>
5726
    auto read_specs(Range range,
5727
                    const detail::format_specs& specs,
5728
                    char32_t& value,
5729
                    detail::locale_ref loc)
5730
        -> scan_expected<ranges::const_iterator_t<Range>>
5731
0
    {
5732
0
        SCN_UNUSED(specs);
5733
0
        return read_default(range, value, loc);
5734
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5735
};
5736
5737
/////////////////////////////////////////////////////////////////
5738
// Pointer reader
5739
/////////////////////////////////////////////////////////////////
5740
5741
template <typename CharT>
5742
class reader_impl_for_voidptr {
5743
public:
5744
    constexpr reader_impl_for_voidptr() = default;
5745
5746
    bool skip_ws_before_read() const
5747
2.04k
    {
5748
2.04k
        return true;
5749
2.04k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5747
1.13k
    {
5748
1.13k
        return true;
5749
1.13k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5747
906
    {
5748
906
        return true;
5749
906
    }
5750
5751
    static scan_error check_specs(const detail::format_specs& specs)
5752
8.25k
    {
5753
8.25k
        reader_error_handler eh{};
5754
8.25k
        detail::check_pointer_type_specs(specs, eh);
5755
8.25k
        if (SCN_UNLIKELY(!eh)) {
5756
7.32k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
7.32k
        }
5758
924
        return {};
5759
8.25k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
5.62k
    {
5753
5.62k
        reader_error_handler eh{};
5754
5.62k
        detail::check_pointer_type_specs(specs, eh);
5755
5.62k
        if (SCN_UNLIKELY(!eh)) {
5756
5.12k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
5.12k
        }
5758
500
        return {};
5759
5.62k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
2.63k
    {
5753
2.63k
        reader_error_handler eh{};
5754
2.63k
        detail::check_pointer_type_specs(specs, eh);
5755
2.63k
        if (SCN_UNLIKELY(!eh)) {
5756
2.20k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
2.20k
        }
5758
424
        return {};
5759
2.63k
    }
5760
5761
    template <typename Range>
5762
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5763
        -> scan_expected<ranges::const_iterator_t<Range>>
5764
2.01k
    {
5765
2.01k
        detail::format_specs specs{};
5766
2.01k
        specs.type = detail::presentation_type::int_hex;
5767
5768
2.01k
        std::uintptr_t intvalue{};
5769
2.01k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
2.01k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
872
    {
5765
872
        detail::format_specs specs{};
5766
872
        specs.type = detail::presentation_type::int_hex;
5767
5768
872
        std::uintptr_t intvalue{};
5769
872
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
872
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
242
    {
5765
242
        detail::format_specs specs{};
5766
242
        specs.type = detail::presentation_type::int_hex;
5767
5768
242
        std::uintptr_t intvalue{};
5769
242
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
242
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
802
    {
5765
802
        detail::format_specs specs{};
5766
802
        specs.type = detail::presentation_type::int_hex;
5767
5768
802
        std::uintptr_t intvalue{};
5769
802
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
802
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
102
    {
5765
102
        detail::format_specs specs{};
5766
102
        specs.type = detail::presentation_type::int_hex;
5767
5768
102
        std::uintptr_t intvalue{};
5769
102
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
102
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5774
5775
    template <typename Range>
5776
    auto read_specs(Range range,
5777
                    const detail::format_specs& specs,
5778
                    void*& value,
5779
                    detail::locale_ref loc)
5780
        -> scan_expected<ranges::const_iterator_t<Range>>
5781
902
    {
5782
902
        SCN_UNUSED(specs);
5783
902
        return read_default(range, value, loc);
5784
902
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
242
    {
5782
242
        SCN_UNUSED(specs);
5783
242
        return read_default(range, value, loc);
5784
242
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
238
    {
5782
238
        SCN_UNUSED(specs);
5783
238
        return read_default(range, value, loc);
5784
238
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
102
    {
5782
102
        SCN_UNUSED(specs);
5783
102
        return read_default(range, value, loc);
5784
102
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
320
    {
5782
320
        SCN_UNUSED(specs);
5783
320
        return read_default(range, value, loc);
5784
320
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5785
};
5786
5787
/////////////////////////////////////////////////////////////////
5788
// Argument readers
5789
/////////////////////////////////////////////////////////////////
5790
5791
template <typename Range>
5792
auto skip_ws_before_if_required(bool is_required, Range range)
5793
    -> eof_expected<ranges::iterator_t<Range>>
5794
3.51M
{
5795
3.51M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
22.4k
        return unexpected(e);
5797
22.4k
    }
5798
5799
3.49M
    if (!is_required) {
5800
1.11k
        return range.begin();
5801
1.11k
    }
5802
5803
3.49M
    return skip_classic_whitespace(range);
5804
3.49M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
945k
{
5795
945k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
9.04k
        return unexpected(e);
5797
9.04k
    }
5798
5799
936k
    if (!is_required) {
5800
634
        return range.begin();
5801
634
    }
5802
5803
935k
    return skip_classic_whitespace(range);
5804
936k
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
891k
{
5795
891k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
8.66k
        return unexpected(e);
5797
8.66k
    }
5798
5799
882k
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
882k
    return skip_classic_whitespace(range);
5804
882k
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
1.05M
{
5795
1.05M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
2.96k
        return unexpected(e);
5797
2.96k
    }
5798
5799
1.05M
    if (!is_required) {
5800
482
        return range.begin();
5801
482
    }
5802
5803
1.05M
    return skip_classic_whitespace(range);
5804
1.05M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
623k
{
5795
623k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
1.79k
        return unexpected(e);
5797
1.79k
    }
5798
5799
622k
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
622k
    return skip_classic_whitespace(range);
5804
622k
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5805
5806
template <typename T, typename CharT>
5807
constexpr auto make_reader()
5808
2.63M
{
5809
2.63M
    if constexpr (std::is_same_v<T, bool>) {
5810
2.63M
        return reader_impl_for_bool<CharT>{};
5811
2.63M
    }
5812
2.63M
    else if constexpr (std::is_same_v<T, char>) {
5813
2.63M
        return reader_impl_for_char<CharT>{};
5814
2.63M
    }
5815
2.63M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
2.63M
        return reader_impl_for_wchar<CharT>{};
5817
2.63M
    }
5818
2.63M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
2.63M
        return reader_impl_for_code_point<CharT>{};
5820
2.63M
    }
5821
2.63M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
2.63M
                       std::is_same_v<T, std::wstring_view>) {
5823
1.76M
        return reader_impl_for_string<CharT>{};
5824
1.76M
    }
5825
1.76M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
1.76M
                       std::is_same_v<T, std::wstring>) {
5827
1.76M
        return reader_impl_for_string<CharT>{};
5828
1.76M
    }
5829
2.63M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
2.63M
                       std::is_same_v<T, wregex_matches>) {
5831
2.63M
        return reader_impl_for_regex_matches<CharT>{};
5832
2.63M
    }
5833
2.63M
    else if constexpr (std::is_same_v<T, void*>) {
5834
2.63M
        return reader_impl_for_voidptr<CharT>{};
5835
2.63M
    }
5836
2.63M
    else if constexpr (std::is_floating_point_v<T>) {
5837
2.63M
        return reader_impl_for_float<CharT>{};
5838
2.63M
    }
5839
2.63M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
2.63M
                       !std::is_same_v<T, wchar_t> &&
5841
2.63M
                       !std::is_same_v<T, char32_t> &&
5842
2.63M
                       !std::is_same_v<T, bool>) {
5843
2.63M
        return reader_impl_for_int<CharT>{};
5844
2.63M
    }
5845
2.63M
    else {
5846
2.63M
        return reader_impl_for_monostate<CharT>{};
5847
2.63M
    }
5848
2.63M
}
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5808
296k
{
5809
296k
    if constexpr (std::is_same_v<T, bool>) {
5810
296k
        return reader_impl_for_bool<CharT>{};
5811
296k
    }
5812
296k
    else if constexpr (std::is_same_v<T, char>) {
5813
296k
        return reader_impl_for_char<CharT>{};
5814
296k
    }
5815
296k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
296k
        return reader_impl_for_wchar<CharT>{};
5817
296k
    }
5818
296k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
296k
        return reader_impl_for_code_point<CharT>{};
5820
296k
    }
5821
296k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
296k
                       std::is_same_v<T, std::wstring_view>) {
5823
296k
        return reader_impl_for_string<CharT>{};
5824
296k
    }
5825
296k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
296k
                       std::is_same_v<T, std::wstring>) {
5827
296k
        return reader_impl_for_string<CharT>{};
5828
296k
    }
5829
296k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
296k
                       std::is_same_v<T, wregex_matches>) {
5831
296k
        return reader_impl_for_regex_matches<CharT>{};
5832
296k
    }
5833
296k
    else if constexpr (std::is_same_v<T, void*>) {
5834
296k
        return reader_impl_for_voidptr<CharT>{};
5835
296k
    }
5836
296k
    else if constexpr (std::is_floating_point_v<T>) {
5837
296k
        return reader_impl_for_float<CharT>{};
5838
296k
    }
5839
296k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
296k
                       !std::is_same_v<T, wchar_t> &&
5841
296k
                       !std::is_same_v<T, char32_t> &&
5842
296k
                       !std::is_same_v<T, bool>) {
5843
296k
        return reader_impl_for_int<CharT>{};
5844
296k
    }
5845
296k
    else {
5846
296k
        return reader_impl_for_monostate<CharT>{};
5847
296k
    }
5848
296k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5808
6.25k
{
5809
6.25k
    if constexpr (std::is_same_v<T, bool>) {
5810
6.25k
        return reader_impl_for_bool<CharT>{};
5811
6.25k
    }
5812
6.25k
    else if constexpr (std::is_same_v<T, char>) {
5813
6.25k
        return reader_impl_for_char<CharT>{};
5814
6.25k
    }
5815
6.25k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
6.25k
        return reader_impl_for_wchar<CharT>{};
5817
6.25k
    }
5818
6.25k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
6.25k
        return reader_impl_for_code_point<CharT>{};
5820
6.25k
    }
5821
6.25k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
6.25k
                       std::is_same_v<T, std::wstring_view>) {
5823
6.25k
        return reader_impl_for_string<CharT>{};
5824
6.25k
    }
5825
6.25k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
6.25k
                       std::is_same_v<T, std::wstring>) {
5827
6.25k
        return reader_impl_for_string<CharT>{};
5828
6.25k
    }
5829
6.25k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
6.25k
                       std::is_same_v<T, wregex_matches>) {
5831
6.25k
        return reader_impl_for_regex_matches<CharT>{};
5832
6.25k
    }
5833
6.25k
    else if constexpr (std::is_same_v<T, void*>) {
5834
6.25k
        return reader_impl_for_voidptr<CharT>{};
5835
6.25k
    }
5836
6.25k
    else if constexpr (std::is_floating_point_v<T>) {
5837
6.25k
        return reader_impl_for_float<CharT>{};
5838
6.25k
    }
5839
6.25k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
6.25k
                       !std::is_same_v<T, wchar_t> &&
5841
6.25k
                       !std::is_same_v<T, char32_t> &&
5842
6.25k
                       !std::is_same_v<T, bool>) {
5843
6.25k
        return reader_impl_for_int<CharT>{};
5844
6.25k
    }
5845
6.25k
    else {
5846
6.25k
        return reader_impl_for_monostate<CharT>{};
5847
6.25k
    }
5848
6.25k
}
auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5808
141k
{
5809
141k
    if constexpr (std::is_same_v<T, bool>) {
5810
141k
        return reader_impl_for_bool<CharT>{};
5811
141k
    }
5812
141k
    else if constexpr (std::is_same_v<T, char>) {
5813
141k
        return reader_impl_for_char<CharT>{};
5814
141k
    }
5815
141k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
141k
        return reader_impl_for_wchar<CharT>{};
5817
141k
    }
5818
141k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
141k
        return reader_impl_for_code_point<CharT>{};
5820
141k
    }
5821
141k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
141k
                       std::is_same_v<T, std::wstring_view>) {
5823
141k
        return reader_impl_for_string<CharT>{};
5824
141k
    }
5825
141k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
141k
                       std::is_same_v<T, std::wstring>) {
5827
141k
        return reader_impl_for_string<CharT>{};
5828
141k
    }
5829
141k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
141k
                       std::is_same_v<T, wregex_matches>) {
5831
141k
        return reader_impl_for_regex_matches<CharT>{};
5832
141k
    }
5833
141k
    else if constexpr (std::is_same_v<T, void*>) {
5834
141k
        return reader_impl_for_voidptr<CharT>{};
5835
141k
    }
5836
141k
    else if constexpr (std::is_floating_point_v<T>) {
5837
141k
        return reader_impl_for_float<CharT>{};
5838
141k
    }
5839
141k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
141k
                       !std::is_same_v<T, wchar_t> &&
5841
141k
                       !std::is_same_v<T, char32_t> &&
5842
141k
                       !std::is_same_v<T, bool>) {
5843
141k
        return reader_impl_for_int<CharT>{};
5844
141k
    }
5845
141k
    else {
5846
141k
        return reader_impl_for_monostate<CharT>{};
5847
141k
    }
5848
141k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5808
3.11k
{
5809
3.11k
    if constexpr (std::is_same_v<T, bool>) {
5810
3.11k
        return reader_impl_for_bool<CharT>{};
5811
3.11k
    }
5812
3.11k
    else if constexpr (std::is_same_v<T, char>) {
5813
3.11k
        return reader_impl_for_char<CharT>{};
5814
3.11k
    }
5815
3.11k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
3.11k
        return reader_impl_for_wchar<CharT>{};
5817
3.11k
    }
5818
3.11k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
3.11k
        return reader_impl_for_code_point<CharT>{};
5820
3.11k
    }
5821
3.11k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
3.11k
                       std::is_same_v<T, std::wstring_view>) {
5823
3.11k
        return reader_impl_for_string<CharT>{};
5824
3.11k
    }
5825
3.11k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
3.11k
                       std::is_same_v<T, std::wstring>) {
5827
3.11k
        return reader_impl_for_string<CharT>{};
5828
3.11k
    }
5829
3.11k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
3.11k
                       std::is_same_v<T, wregex_matches>) {
5831
3.11k
        return reader_impl_for_regex_matches<CharT>{};
5832
3.11k
    }
5833
3.11k
    else if constexpr (std::is_same_v<T, void*>) {
5834
3.11k
        return reader_impl_for_voidptr<CharT>{};
5835
3.11k
    }
5836
3.11k
    else if constexpr (std::is_floating_point_v<T>) {
5837
3.11k
        return reader_impl_for_float<CharT>{};
5838
3.11k
    }
5839
3.11k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
3.11k
                       !std::is_same_v<T, wchar_t> &&
5841
3.11k
                       !std::is_same_v<T, char32_t> &&
5842
3.11k
                       !std::is_same_v<T, bool>) {
5843
3.11k
        return reader_impl_for_int<CharT>{};
5844
3.11k
    }
5845
3.11k
    else {
5846
3.11k
        return reader_impl_for_monostate<CharT>{};
5847
3.11k
    }
5848
3.11k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5808
1.45M
{
5809
1.45M
    if constexpr (std::is_same_v<T, bool>) {
5810
1.45M
        return reader_impl_for_bool<CharT>{};
5811
1.45M
    }
5812
1.45M
    else if constexpr (std::is_same_v<T, char>) {
5813
1.45M
        return reader_impl_for_char<CharT>{};
5814
1.45M
    }
5815
1.45M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
1.45M
        return reader_impl_for_wchar<CharT>{};
5817
1.45M
    }
5818
1.45M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
1.45M
        return reader_impl_for_code_point<CharT>{};
5820
1.45M
    }
5821
1.45M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
1.45M
                       std::is_same_v<T, std::wstring_view>) {
5823
1.45M
        return reader_impl_for_string<CharT>{};
5824
1.45M
    }
5825
1.45M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
1.45M
                       std::is_same_v<T, std::wstring>) {
5827
1.45M
        return reader_impl_for_string<CharT>{};
5828
1.45M
    }
5829
1.45M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
1.45M
                       std::is_same_v<T, wregex_matches>) {
5831
1.45M
        return reader_impl_for_regex_matches<CharT>{};
5832
1.45M
    }
5833
1.45M
    else if constexpr (std::is_same_v<T, void*>) {
5834
1.45M
        return reader_impl_for_voidptr<CharT>{};
5835
1.45M
    }
5836
1.45M
    else if constexpr (std::is_floating_point_v<T>) {
5837
1.45M
        return reader_impl_for_float<CharT>{};
5838
1.45M
    }
5839
1.45M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
1.45M
                       !std::is_same_v<T, wchar_t> &&
5841
1.45M
                       !std::is_same_v<T, char32_t> &&
5842
1.45M
                       !std::is_same_v<T, bool>) {
5843
1.45M
        return reader_impl_for_int<CharT>{};
5844
1.45M
    }
5845
1.45M
    else {
5846
1.45M
        return reader_impl_for_monostate<CharT>{};
5847
1.45M
    }
5848
1.45M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5808
729k
{
5809
729k
    if constexpr (std::is_same_v<T, bool>) {
5810
729k
        return reader_impl_for_bool<CharT>{};
5811
729k
    }
5812
729k
    else if constexpr (std::is_same_v<T, char>) {
5813
729k
        return reader_impl_for_char<CharT>{};
5814
729k
    }
5815
729k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
729k
        return reader_impl_for_wchar<CharT>{};
5817
729k
    }
5818
729k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
729k
        return reader_impl_for_code_point<CharT>{};
5820
729k
    }
5821
729k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
729k
                       std::is_same_v<T, std::wstring_view>) {
5823
729k
        return reader_impl_for_string<CharT>{};
5824
729k
    }
5825
729k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
729k
                       std::is_same_v<T, std::wstring>) {
5827
729k
        return reader_impl_for_string<CharT>{};
5828
729k
    }
5829
729k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
729k
                       std::is_same_v<T, wregex_matches>) {
5831
729k
        return reader_impl_for_regex_matches<CharT>{};
5832
729k
    }
5833
729k
    else if constexpr (std::is_same_v<T, void*>) {
5834
729k
        return reader_impl_for_voidptr<CharT>{};
5835
729k
    }
5836
729k
    else if constexpr (std::is_floating_point_v<T>) {
5837
729k
        return reader_impl_for_float<CharT>{};
5838
729k
    }
5839
729k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
729k
                       !std::is_same_v<T, wchar_t> &&
5841
729k
                       !std::is_same_v<T, char32_t> &&
5842
729k
                       !std::is_same_v<T, bool>) {
5843
729k
        return reader_impl_for_int<CharT>{};
5844
729k
    }
5845
729k
    else {
5846
729k
        return reader_impl_for_monostate<CharT>{};
5847
729k
    }
5848
729k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, wchar_t>()
5849
5850
template <typename Context>
5851
struct default_arg_reader {
5852
    using context_type = Context;
5853
    using char_type = typename context_type::char_type;
5854
    using args_type = typename context_type::args_type;
5855
5856
    using range_type = typename context_type::range_type;
5857
    using iterator = ranges::iterator_t<range_type>;
5858
5859
    template <typename Reader, typename Range, typename T>
5860
    auto impl(Reader& rd, Range rng, T& value)
5861
        -> scan_expected<ranges::iterator_t<Range>>
5862
3.51M
    {
5863
3.51M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
3.49M
                        .transform_error(make_eof_scan_error));
5865
3.49M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
3.51M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
91.7k
    {
5863
91.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
90.7k
                        .transform_error(make_eof_scan_error));
5865
90.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
92.8k
    {
5863
92.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
91.6k
                        .transform_error(make_eof_scan_error));
5865
91.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
92.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
69.9k
    {
5863
69.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.4k
                        .transform_error(make_eof_scan_error));
5865
69.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.6k
    {
5863
78.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.9k
                        .transform_error(make_eof_scan_error));
5865
77.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
79.0k
    {
5863
79.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.2k
                        .transform_error(make_eof_scan_error));
5865
78.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
79.0k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
94.1k
    {
5863
94.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
92.8k
                        .transform_error(make_eof_scan_error));
5865
92.8k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
94.1k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
98.9k
    {
5863
98.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
97.4k
                        .transform_error(make_eof_scan_error));
5865
97.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
98.9k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
100k
    {
5863
100k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
98.4k
                        .transform_error(make_eof_scan_error));
5865
98.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
100k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
79.1k
    {
5863
79.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.1k
                        .transform_error(make_eof_scan_error));
5865
78.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
79.1k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
79.1k
    {
5863
79.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.1k
                        .transform_error(make_eof_scan_error));
5865
78.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
79.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.7k
    {
5863
78.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
89.5k
    {
5863
89.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
88.4k
                        .transform_error(make_eof_scan_error));
5865
88.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
89.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
91.0k
    {
5863
91.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
89.9k
                        .transform_error(make_eof_scan_error));
5865
89.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
69.8k
    {
5863
69.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.3k
                        .transform_error(make_eof_scan_error));
5865
69.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
77.8k
    {
5863
77.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.1k
                        .transform_error(make_eof_scan_error));
5865
77.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
77.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
101k
    {
5863
101k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
100k
                        .transform_error(make_eof_scan_error));
5865
100k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
101k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
106k
    {
5863
106k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
104k
                        .transform_error(make_eof_scan_error));
5865
104k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
106k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
107k
    {
5863
107k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
106k
                        .transform_error(make_eof_scan_error));
5865
106k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
107k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
89.3k
    {
5863
89.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
88.2k
                        .transform_error(make_eof_scan_error));
5865
88.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
89.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
12.3k
    {
5863
12.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2k
                        .transform_error(make_eof_scan_error));
5865
12.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
12.2k
    {
5863
12.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2k
                        .transform_error(make_eof_scan_error));
5865
12.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
482
    {
5863
482
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
482
                        .transform_error(make_eof_scan_error));
5865
482
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
482
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
482
    {
5863
482
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
482
                        .transform_error(make_eof_scan_error));
5865
482
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
482
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
482
    {
5863
482
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
482
                        .transform_error(make_eof_scan_error));
5865
482
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
482
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
38.5k
    {
5863
38.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
38.3k
                        .transform_error(make_eof_scan_error));
5865
38.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
38.5k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
41.5k
    {
5863
41.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
41.2k
                        .transform_error(make_eof_scan_error));
5865
41.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
41.5k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
42.2k
    {
5863
42.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
41.9k
                        .transform_error(make_eof_scan_error));
5865
41.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
42.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
482
    {
5863
482
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
482
                        .transform_error(make_eof_scan_error));
5865
482
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
482
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
431k
    {
5863
431k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
430k
                        .transform_error(make_eof_scan_error));
5865
430k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
431k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
431k
    {
5863
431k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
430k
                        .transform_error(make_eof_scan_error));
5865
430k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
431k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
38.5k
    {
5863
38.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
38.2k
                        .transform_error(make_eof_scan_error));
5865
38.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
38.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
41.0k
    {
5863
41.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
40.7k
                        .transform_error(make_eof_scan_error));
5865
40.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
41.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
42.2k
    {
5863
42.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
41.9k
                        .transform_error(make_eof_scan_error));
5865
41.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
42.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
431k
    {
5863
431k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
429k
                        .transform_error(make_eof_scan_error));
5865
429k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
431k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
5867
5868
    template <typename T>
5869
    scan_expected<iterator> operator()(T& value)
5870
3.51M
    {
5871
3.51M
        if constexpr (!detail::is_type_disabled<T> &&
5872
3.51M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
1.51M
            auto rd = make_reader<T, char_type>();
5876
1.51M
            return impl(rd, range, value);
5877
1.51M
        }
5878
1.51M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
1.51M
            auto rd = make_reader<T, char_type>();
5880
1.51M
            if (!is_segment_contiguous(range)) {
5881
1.51M
                return impl(rd, range, value);
5882
1.51M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
3.51M
        else {
5889
3.51M
            SCN_EXPECT(false);
5890
3.51M
            SCN_UNREACHABLE;
5891
3.51M
        }
5892
3.51M
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
78.8k
            auto crange = get_as_contiguous(range);
5884
78.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.8k
            return ranges::next(range.begin(),
5886
78.8k
                                ranges::distance(crange.begin(), it));
5887
78.8k
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
91.7k
    {
5871
91.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
91.7k
                          basic_contiguous_scan_context<char_type>>) {
5875
91.7k
            auto rd = make_reader<T, char_type>();
5876
91.7k
            return impl(rd, range, value);
5877
91.7k
        }
5878
91.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.7k
            auto rd = make_reader<T, char_type>();
5880
91.7k
            if (!is_segment_contiguous(range)) {
5881
91.7k
                return impl(rd, range, value);
5882
91.7k
            }
5883
91.7k
            auto crange = get_as_contiguous(range);
5884
91.7k
            SCN_TRY(it, impl(rd, crange, value));
5885
91.7k
            return ranges::next(range.begin(),
5886
91.7k
                                ranges::distance(crange.begin(), it));
5887
91.7k
        }
5888
91.7k
        else {
5889
91.7k
            SCN_EXPECT(false);
5890
91.7k
            SCN_UNREACHABLE;
5891
91.7k
        }
5892
91.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
92.8k
    {
5871
92.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
92.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
92.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
92.8k
            auto rd = make_reader<T, char_type>();
5876
92.8k
            return impl(rd, range, value);
5877
92.8k
        }
5878
92.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
92.8k
            auto rd = make_reader<T, char_type>();
5880
92.8k
            if (!is_segment_contiguous(range)) {
5881
92.8k
                return impl(rd, range, value);
5882
92.8k
            }
5883
92.8k
            auto crange = get_as_contiguous(range);
5884
92.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
92.8k
            return ranges::next(range.begin(),
5886
92.8k
                                ranges::distance(crange.begin(), it));
5887
92.8k
        }
5888
92.8k
        else {
5889
92.8k
            SCN_EXPECT(false);
5890
92.8k
            SCN_UNREACHABLE;
5891
92.8k
        }
5892
92.8k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.9k
    {
5871
69.9k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.9k
                      std::is_same_v<
5873
0
                          context_type,
5874
69.9k
                          basic_contiguous_scan_context<char_type>>) {
5875
69.9k
            auto rd = make_reader<T, char_type>();
5876
69.9k
            return impl(rd, range, value);
5877
69.9k
        }
5878
69.9k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.9k
            auto rd = make_reader<T, char_type>();
5880
69.9k
            if (!is_segment_contiguous(range)) {
5881
69.9k
                return impl(rd, range, value);
5882
69.9k
            }
5883
69.9k
            auto crange = get_as_contiguous(range);
5884
69.9k
            SCN_TRY(it, impl(rd, crange, value));
5885
69.9k
            return ranges::next(range.begin(),
5886
69.9k
                                ranges::distance(crange.begin(), it));
5887
69.9k
        }
5888
69.9k
        else {
5889
69.9k
            SCN_EXPECT(false);
5890
69.9k
            SCN_UNREACHABLE;
5891
69.9k
        }
5892
69.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
78.6k
    {
5871
78.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.6k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.6k
            auto rd = make_reader<T, char_type>();
5876
78.6k
            return impl(rd, range, value);
5877
78.6k
        }
5878
78.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.6k
            auto rd = make_reader<T, char_type>();
5880
78.6k
            if (!is_segment_contiguous(range)) {
5881
78.6k
                return impl(rd, range, value);
5882
78.6k
            }
5883
78.6k
            auto crange = get_as_contiguous(range);
5884
78.6k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.6k
            return ranges::next(range.begin(),
5886
78.6k
                                ranges::distance(crange.begin(), it));
5887
78.6k
        }
5888
78.6k
        else {
5889
78.6k
            SCN_EXPECT(false);
5890
78.6k
            SCN_UNREACHABLE;
5891
78.6k
        }
5892
78.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
79.0k
    {
5871
79.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
79.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
79.0k
                          basic_contiguous_scan_context<char_type>>) {
5875
79.0k
            auto rd = make_reader<T, char_type>();
5876
79.0k
            return impl(rd, range, value);
5877
79.0k
        }
5878
79.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
79.0k
            auto rd = make_reader<T, char_type>();
5880
79.0k
            if (!is_segment_contiguous(range)) {
5881
79.0k
                return impl(rd, range, value);
5882
79.0k
            }
5883
79.0k
            auto crange = get_as_contiguous(range);
5884
79.0k
            SCN_TRY(it, impl(rd, crange, value));
5885
79.0k
            return ranges::next(range.begin(),
5886
79.0k
                                ranges::distance(crange.begin(), it));
5887
79.0k
        }
5888
79.0k
        else {
5889
79.0k
            SCN_EXPECT(false);
5890
79.0k
            SCN_UNREACHABLE;
5891
79.0k
        }
5892
79.0k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
94.1k
    {
5871
94.1k
        if constexpr (!detail::is_type_disabled<T> &&
5872
94.1k
                      std::is_same_v<
5873
0
                          context_type,
5874
94.1k
                          basic_contiguous_scan_context<char_type>>) {
5875
94.1k
            auto rd = make_reader<T, char_type>();
5876
94.1k
            return impl(rd, range, value);
5877
94.1k
        }
5878
94.1k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
94.1k
            auto rd = make_reader<T, char_type>();
5880
94.1k
            if (!is_segment_contiguous(range)) {
5881
94.1k
                return impl(rd, range, value);
5882
94.1k
            }
5883
94.1k
            auto crange = get_as_contiguous(range);
5884
94.1k
            SCN_TRY(it, impl(rd, crange, value));
5885
94.1k
            return ranges::next(range.begin(),
5886
94.1k
                                ranges::distance(crange.begin(), it));
5887
94.1k
        }
5888
94.1k
        else {
5889
94.1k
            SCN_EXPECT(false);
5890
94.1k
            SCN_UNREACHABLE;
5891
94.1k
        }
5892
94.1k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
98.9k
    {
5871
98.9k
        if constexpr (!detail::is_type_disabled<T> &&
5872
98.9k
                      std::is_same_v<
5873
0
                          context_type,
5874
98.9k
                          basic_contiguous_scan_context<char_type>>) {
5875
98.9k
            auto rd = make_reader<T, char_type>();
5876
98.9k
            return impl(rd, range, value);
5877
98.9k
        }
5878
98.9k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
98.9k
            auto rd = make_reader<T, char_type>();
5880
98.9k
            if (!is_segment_contiguous(range)) {
5881
98.9k
                return impl(rd, range, value);
5882
98.9k
            }
5883
98.9k
            auto crange = get_as_contiguous(range);
5884
98.9k
            SCN_TRY(it, impl(rd, crange, value));
5885
98.9k
            return ranges::next(range.begin(),
5886
98.9k
                                ranges::distance(crange.begin(), it));
5887
98.9k
        }
5888
98.9k
        else {
5889
98.9k
            SCN_EXPECT(false);
5890
98.9k
            SCN_UNREACHABLE;
5891
98.9k
        }
5892
98.9k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
100k
    {
5871
100k
        if constexpr (!detail::is_type_disabled<T> &&
5872
100k
                      std::is_same_v<
5873
0
                          context_type,
5874
100k
                          basic_contiguous_scan_context<char_type>>) {
5875
100k
            auto rd = make_reader<T, char_type>();
5876
100k
            return impl(rd, range, value);
5877
100k
        }
5878
100k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
100k
            auto rd = make_reader<T, char_type>();
5880
100k
            if (!is_segment_contiguous(range)) {
5881
100k
                return impl(rd, range, value);
5882
100k
            }
5883
100k
            auto crange = get_as_contiguous(range);
5884
100k
            SCN_TRY(it, impl(rd, crange, value));
5885
100k
            return ranges::next(range.begin(),
5886
100k
                                ranges::distance(crange.begin(), it));
5887
100k
        }
5888
100k
        else {
5889
100k
            SCN_EXPECT(false);
5890
100k
            SCN_UNREACHABLE;
5891
100k
        }
5892
100k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5870
79.1k
    {
5871
79.1k
        if constexpr (!detail::is_type_disabled<T> &&
5872
79.1k
                      std::is_same_v<
5873
0
                          context_type,
5874
79.1k
                          basic_contiguous_scan_context<char_type>>) {
5875
79.1k
            auto rd = make_reader<T, char_type>();
5876
79.1k
            return impl(rd, range, value);
5877
79.1k
        }
5878
79.1k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
79.1k
            auto rd = make_reader<T, char_type>();
5880
79.1k
            if (!is_segment_contiguous(range)) {
5881
79.1k
                return impl(rd, range, value);
5882
79.1k
            }
5883
79.1k
            auto crange = get_as_contiguous(range);
5884
79.1k
            SCN_TRY(it, impl(rd, crange, value));
5885
79.1k
            return ranges::next(range.begin(),
5886
79.1k
                                ranges::distance(crange.begin(), it));
5887
79.1k
        }
5888
79.1k
        else {
5889
79.1k
            SCN_EXPECT(false);
5890
79.1k
            SCN_UNREACHABLE;
5891
79.1k
        }
5892
79.1k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
79.1k
    {
5871
79.1k
        if constexpr (!detail::is_type_disabled<T> &&
5872
79.1k
                      std::is_same_v<
5873
0
                          context_type,
5874
79.1k
                          basic_contiguous_scan_context<char_type>>) {
5875
79.1k
            auto rd = make_reader<T, char_type>();
5876
79.1k
            return impl(rd, range, value);
5877
79.1k
        }
5878
79.1k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
79.1k
            auto rd = make_reader<T, char_type>();
5880
79.1k
            if (!is_segment_contiguous(range)) {
5881
79.1k
                return impl(rd, range, value);
5882
79.1k
            }
5883
79.1k
            auto crange = get_as_contiguous(range);
5884
79.1k
            SCN_TRY(it, impl(rd, crange, value));
5885
79.1k
            return ranges::next(range.begin(),
5886
79.1k
                                ranges::distance(crange.begin(), it));
5887
79.1k
        }
5888
79.1k
        else {
5889
79.1k
            SCN_EXPECT(false);
5890
79.1k
            SCN_UNREACHABLE;
5891
79.1k
        }
5892
79.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.7k
    {
5871
78.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.7k
            auto rd = make_reader<T, char_type>();
5876
78.7k
            return impl(rd, range, value);
5877
78.7k
        }
5878
78.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.7k
            auto rd = make_reader<T, char_type>();
5880
78.7k
            if (!is_segment_contiguous(range)) {
5881
78.7k
                return impl(rd, range, value);
5882
78.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.7k
        else {
5889
78.7k
            SCN_EXPECT(false);
5890
78.7k
            SCN_UNREACHABLE;
5891
78.7k
        }
5892
78.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
89.5k
    {
5871
89.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
89.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
89.5k
            auto rd = make_reader<T, char_type>();
5876
89.5k
            return impl(rd, range, value);
5877
89.5k
        }
5878
89.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
89.5k
            auto rd = make_reader<T, char_type>();
5880
89.5k
            if (!is_segment_contiguous(range)) {
5881
89.5k
                return impl(rd, range, value);
5882
89.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
89.5k
        else {
5889
89.5k
            SCN_EXPECT(false);
5890
89.5k
            SCN_UNREACHABLE;
5891
89.5k
        }
5892
89.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
91.0k
    {
5871
91.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
91.0k
            auto rd = make_reader<T, char_type>();
5876
91.0k
            return impl(rd, range, value);
5877
91.0k
        }
5878
91.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.0k
            auto rd = make_reader<T, char_type>();
5880
91.0k
            if (!is_segment_contiguous(range)) {
5881
91.0k
                return impl(rd, range, value);
5882
91.0k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
91.0k
        else {
5889
91.0k
            SCN_EXPECT(false);
5890
91.0k
            SCN_UNREACHABLE;
5891
91.0k
        }
5892
91.0k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.8k
    {
5871
69.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
69.8k
            auto rd = make_reader<T, char_type>();
5876
69.8k
            return impl(rd, range, value);
5877
69.8k
        }
5878
69.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.8k
            auto rd = make_reader<T, char_type>();
5880
69.8k
            if (!is_segment_contiguous(range)) {
5881
69.8k
                return impl(rd, range, value);
5882
69.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
69.8k
        else {
5889
69.8k
            SCN_EXPECT(false);
5890
69.8k
            SCN_UNREACHABLE;
5891
69.8k
        }
5892
69.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
77.8k
    {
5871
77.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
77.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
77.8k
            auto rd = make_reader<T, char_type>();
5876
77.8k
            return impl(rd, range, value);
5877
77.8k
        }
5878
77.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
77.8k
            auto rd = make_reader<T, char_type>();
5880
77.8k
            if (!is_segment_contiguous(range)) {
5881
77.8k
                return impl(rd, range, value);
5882
77.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
77.8k
        else {
5889
77.8k
            SCN_EXPECT(false);
5890
77.8k
            SCN_UNREACHABLE;
5891
77.8k
        }
5892
77.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
101k
    {
5871
101k
        if constexpr (!detail::is_type_disabled<T> &&
5872
101k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
101k
            auto rd = make_reader<T, char_type>();
5876
101k
            return impl(rd, range, value);
5877
101k
        }
5878
101k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
101k
            auto rd = make_reader<T, char_type>();
5880
101k
            if (!is_segment_contiguous(range)) {
5881
101k
                return impl(rd, range, value);
5882
101k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
101k
        else {
5889
101k
            SCN_EXPECT(false);
5890
101k
            SCN_UNREACHABLE;
5891
101k
        }
5892
101k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
106k
    {
5871
106k
        if constexpr (!detail::is_type_disabled<T> &&
5872
106k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
106k
            auto rd = make_reader<T, char_type>();
5876
106k
            return impl(rd, range, value);
5877
106k
        }
5878
106k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
106k
            auto rd = make_reader<T, char_type>();
5880
106k
            if (!is_segment_contiguous(range)) {
5881
106k
                return impl(rd, range, value);
5882
106k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
106k
        else {
5889
106k
            SCN_EXPECT(false);
5890
106k
            SCN_UNREACHABLE;
5891
106k
        }
5892
106k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
107k
    {
5871
107k
        if constexpr (!detail::is_type_disabled<T> &&
5872
107k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
107k
            auto rd = make_reader<T, char_type>();
5876
107k
            return impl(rd, range, value);
5877
107k
        }
5878
107k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
107k
            auto rd = make_reader<T, char_type>();
5880
107k
            if (!is_segment_contiguous(range)) {
5881
107k
                return impl(rd, range, value);
5882
107k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
107k
        else {
5889
107k
            SCN_EXPECT(false);
5890
107k
            SCN_UNREACHABLE;
5891
107k
        }
5892
107k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
89.3k
    {
5871
89.3k
        if constexpr (!detail::is_type_disabled<T> &&
5872
89.3k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
89.3k
            auto rd = make_reader<T, char_type>();
5876
89.3k
            return impl(rd, range, value);
5877
89.3k
        }
5878
89.3k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
89.3k
            auto rd = make_reader<T, char_type>();
5880
89.3k
            if (!is_segment_contiguous(range)) {
5881
89.3k
                return impl(rd, range, value);
5882
89.3k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
89.3k
        else {
5889
89.3k
            SCN_EXPECT(false);
5890
89.3k
            SCN_UNREACHABLE;
5891
89.3k
        }
5892
89.3k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
12.3k
    {
5871
12.3k
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.3k
                      std::is_same_v<
5873
0
                          context_type,
5874
12.3k
                          basic_contiguous_scan_context<char_type>>) {
5875
12.3k
            auto rd = make_reader<T, char_type>();
5876
12.3k
            return impl(rd, range, value);
5877
12.3k
        }
5878
12.3k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.3k
            auto rd = make_reader<T, char_type>();
5880
12.3k
            if (!is_segment_contiguous(range)) {
5881
12.3k
                return impl(rd, range, value);
5882
12.3k
            }
5883
12.3k
            auto crange = get_as_contiguous(range);
5884
12.3k
            SCN_TRY(it, impl(rd, crange, value));
5885
12.3k
            return ranges::next(range.begin(),
5886
12.3k
                                ranges::distance(crange.begin(), it));
5887
12.3k
        }
5888
12.3k
        else {
5889
12.3k
            SCN_EXPECT(false);
5890
12.3k
            SCN_UNREACHABLE;
5891
12.3k
        }
5892
12.3k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.7k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
11.7k
            auto crange = get_as_contiguous(range);
5884
11.7k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.7k
            return ranges::next(range.begin(),
5886
11.7k
                                ranges::distance(crange.begin(), it));
5887
11.7k
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
12.2k
    {
5871
12.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
12.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
12.2k
            auto rd = make_reader<T, char_type>();
5876
12.2k
            return impl(rd, range, value);
5877
12.2k
        }
5878
12.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.2k
            auto rd = make_reader<T, char_type>();
5880
12.2k
            if (!is_segment_contiguous(range)) {
5881
12.2k
                return impl(rd, range, value);
5882
12.2k
            }
5883
12.2k
            auto crange = get_as_contiguous(range);
5884
12.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
12.2k
            return ranges::next(range.begin(),
5886
12.2k
                                ranges::distance(crange.begin(), it));
5887
12.2k
        }
5888
12.2k
        else {
5889
12.2k
            SCN_EXPECT(false);
5890
12.2k
            SCN_UNREACHABLE;
5891
12.2k
        }
5892
12.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
5870
482
    {
5871
482
        if constexpr (!detail::is_type_disabled<T> &&
5872
482
                      std::is_same_v<
5873
0
                          context_type,
5874
482
                          basic_contiguous_scan_context<char_type>>) {
5875
482
            auto rd = make_reader<T, char_type>();
5876
482
            return impl(rd, range, value);
5877
482
        }
5878
482
        else if constexpr (!detail::is_type_disabled<T>) {
5879
482
            auto rd = make_reader<T, char_type>();
5880
482
            if (!is_segment_contiguous(range)) {
5881
482
                return impl(rd, range, value);
5882
482
            }
5883
482
            auto crange = get_as_contiguous(range);
5884
482
            SCN_TRY(it, impl(rd, crange, value));
5885
482
            return ranges::next(range.begin(),
5886
482
                                ranges::distance(crange.begin(), it));
5887
482
        }
5888
482
        else {
5889
482
            SCN_EXPECT(false);
5890
482
            SCN_UNREACHABLE;
5891
482
        }
5892
482
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
5870
482
    {
5871
482
        if constexpr (!detail::is_type_disabled<T> &&
5872
482
                      std::is_same_v<
5873
0
                          context_type,
5874
482
                          basic_contiguous_scan_context<char_type>>) {
5875
482
            auto rd = make_reader<T, char_type>();
5876
482
            return impl(rd, range, value);
5877
482
        }
5878
482
        else if constexpr (!detail::is_type_disabled<T>) {
5879
482
            auto rd = make_reader<T, char_type>();
5880
482
            if (!is_segment_contiguous(range)) {
5881
482
                return impl(rd, range, value);
5882
482
            }
5883
482
            auto crange = get_as_contiguous(range);
5884
482
            SCN_TRY(it, impl(rd, crange, value));
5885
482
            return ranges::next(range.begin(),
5886
482
                                ranges::distance(crange.begin(), it));
5887
482
        }
5888
482
        else {
5889
482
            SCN_EXPECT(false);
5890
482
            SCN_UNREACHABLE;
5891
482
        }
5892
482
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
5870
482
    {
5871
482
        if constexpr (!detail::is_type_disabled<T> &&
5872
482
                      std::is_same_v<
5873
0
                          context_type,
5874
482
                          basic_contiguous_scan_context<char_type>>) {
5875
482
            auto rd = make_reader<T, char_type>();
5876
482
            return impl(rd, range, value);
5877
482
        }
5878
482
        else if constexpr (!detail::is_type_disabled<T>) {
5879
482
            auto rd = make_reader<T, char_type>();
5880
482
            if (!is_segment_contiguous(range)) {
5881
482
                return impl(rd, range, value);
5882
482
            }
5883
482
            auto crange = get_as_contiguous(range);
5884
482
            SCN_TRY(it, impl(rd, crange, value));
5885
482
            return ranges::next(range.begin(),
5886
482
                                ranges::distance(crange.begin(), it));
5887
482
        }
5888
482
        else {
5889
482
            SCN_EXPECT(false);
5890
482
            SCN_UNREACHABLE;
5891
482
        }
5892
482
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
38.5k
    {
5871
38.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
38.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
38.5k
                          basic_contiguous_scan_context<char_type>>) {
5875
38.5k
            auto rd = make_reader<T, char_type>();
5876
38.5k
            return impl(rd, range, value);
5877
38.5k
        }
5878
38.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
38.5k
            auto rd = make_reader<T, char_type>();
5880
38.5k
            if (!is_segment_contiguous(range)) {
5881
38.5k
                return impl(rd, range, value);
5882
38.5k
            }
5883
38.5k
            auto crange = get_as_contiguous(range);
5884
38.5k
            SCN_TRY(it, impl(rd, crange, value));
5885
38.5k
            return ranges::next(range.begin(),
5886
38.5k
                                ranges::distance(crange.begin(), it));
5887
38.5k
        }
5888
38.5k
        else {
5889
38.5k
            SCN_EXPECT(false);
5890
38.5k
            SCN_UNREACHABLE;
5891
38.5k
        }
5892
38.5k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
41.5k
    {
5871
41.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
41.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
41.5k
                          basic_contiguous_scan_context<char_type>>) {
5875
41.5k
            auto rd = make_reader<T, char_type>();
5876
41.5k
            return impl(rd, range, value);
5877
41.5k
        }
5878
41.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
41.5k
            auto rd = make_reader<T, char_type>();
5880
41.5k
            if (!is_segment_contiguous(range)) {
5881
41.5k
                return impl(rd, range, value);
5882
41.5k
            }
5883
41.5k
            auto crange = get_as_contiguous(range);
5884
41.5k
            SCN_TRY(it, impl(rd, crange, value));
5885
41.5k
            return ranges::next(range.begin(),
5886
41.5k
                                ranges::distance(crange.begin(), it));
5887
41.5k
        }
5888
41.5k
        else {
5889
41.5k
            SCN_EXPECT(false);
5890
41.5k
            SCN_UNREACHABLE;
5891
41.5k
        }
5892
41.5k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
42.2k
    {
5871
42.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
42.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
42.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
42.2k
            auto rd = make_reader<T, char_type>();
5876
42.2k
            return impl(rd, range, value);
5877
42.2k
        }
5878
42.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
42.2k
            auto rd = make_reader<T, char_type>();
5880
42.2k
            if (!is_segment_contiguous(range)) {
5881
42.2k
                return impl(rd, range, value);
5882
42.2k
            }
5883
42.2k
            auto crange = get_as_contiguous(range);
5884
42.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
42.2k
            return ranges::next(range.begin(),
5886
42.2k
                                ranges::distance(crange.begin(), it));
5887
42.2k
        }
5888
42.2k
        else {
5889
42.2k
            SCN_EXPECT(false);
5890
42.2k
            SCN_UNREACHABLE;
5891
42.2k
        }
5892
42.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
482
    {
5871
482
        if constexpr (!detail::is_type_disabled<T> &&
5872
482
                      std::is_same_v<
5873
0
                          context_type,
5874
482
                          basic_contiguous_scan_context<char_type>>) {
5875
482
            auto rd = make_reader<T, char_type>();
5876
482
            return impl(rd, range, value);
5877
482
        }
5878
482
        else if constexpr (!detail::is_type_disabled<T>) {
5879
482
            auto rd = make_reader<T, char_type>();
5880
482
            if (!is_segment_contiguous(range)) {
5881
482
                return impl(rd, range, value);
5882
482
            }
5883
482
            auto crange = get_as_contiguous(range);
5884
482
            SCN_TRY(it, impl(rd, crange, value));
5885
482
            return ranges::next(range.begin(),
5886
482
                                ranges::distance(crange.begin(), it));
5887
482
        }
5888
482
        else {
5889
482
            SCN_EXPECT(false);
5890
482
            SCN_UNREACHABLE;
5891
482
        }
5892
482
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5870
431k
    {
5871
431k
        if constexpr (!detail::is_type_disabled<T> &&
5872
431k
                      std::is_same_v<
5873
0
                          context_type,
5874
431k
                          basic_contiguous_scan_context<char_type>>) {
5875
431k
            auto rd = make_reader<T, char_type>();
5876
431k
            return impl(rd, range, value);
5877
431k
        }
5878
431k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
431k
            auto rd = make_reader<T, char_type>();
5880
431k
            if (!is_segment_contiguous(range)) {
5881
431k
                return impl(rd, range, value);
5882
431k
            }
5883
431k
            auto crange = get_as_contiguous(range);
5884
431k
            SCN_TRY(it, impl(rd, crange, value));
5885
431k
            return ranges::next(range.begin(),
5886
431k
                                ranges::distance(crange.begin(), it));
5887
431k
        }
5888
431k
        else {
5889
431k
            SCN_EXPECT(false);
5890
431k
            SCN_UNREACHABLE;
5891
431k
        }
5892
431k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
431k
    {
5871
431k
        if constexpr (!detail::is_type_disabled<T> &&
5872
431k
                      std::is_same_v<
5873
0
                          context_type,
5874
431k
                          basic_contiguous_scan_context<char_type>>) {
5875
431k
            auto rd = make_reader<T, char_type>();
5876
431k
            return impl(rd, range, value);
5877
431k
        }
5878
431k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
431k
            auto rd = make_reader<T, char_type>();
5880
431k
            if (!is_segment_contiguous(range)) {
5881
431k
                return impl(rd, range, value);
5882
431k
            }
5883
431k
            auto crange = get_as_contiguous(range);
5884
431k
            SCN_TRY(it, impl(rd, crange, value));
5885
431k
            return ranges::next(range.begin(),
5886
431k
                                ranges::distance(crange.begin(), it));
5887
431k
        }
5888
431k
        else {
5889
431k
            SCN_EXPECT(false);
5890
431k
            SCN_UNREACHABLE;
5891
431k
        }
5892
431k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
38.5k
    {
5871
38.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
38.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
38.5k
            auto rd = make_reader<T, char_type>();
5876
38.5k
            return impl(rd, range, value);
5877
38.5k
        }
5878
38.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
38.5k
            auto rd = make_reader<T, char_type>();
5880
38.5k
            if (!is_segment_contiguous(range)) {
5881
38.5k
                return impl(rd, range, value);
5882
38.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
38.5k
        else {
5889
38.5k
            SCN_EXPECT(false);
5890
38.5k
            SCN_UNREACHABLE;
5891
38.5k
        }
5892
38.5k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
41.0k
    {
5871
41.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
41.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
41.0k
            auto rd = make_reader<T, char_type>();
5876
41.0k
            return impl(rd, range, value);
5877
41.0k
        }
5878
41.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
41.0k
            auto rd = make_reader<T, char_type>();
5880
41.0k
            if (!is_segment_contiguous(range)) {
5881
41.0k
                return impl(rd, range, value);
5882
41.0k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
41.0k
        else {
5889
41.0k
            SCN_EXPECT(false);
5890
41.0k
            SCN_UNREACHABLE;
5891
41.0k
        }
5892
41.0k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
42.2k
    {
5871
42.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
42.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
42.2k
            auto rd = make_reader<T, char_type>();
5876
42.2k
            return impl(rd, range, value);
5877
42.2k
        }
5878
42.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
42.2k
            auto rd = make_reader<T, char_type>();
5880
42.2k
            if (!is_segment_contiguous(range)) {
5881
42.2k
                return impl(rd, range, value);
5882
42.2k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
42.2k
        else {
5889
42.2k
            SCN_EXPECT(false);
5890
42.2k
            SCN_UNREACHABLE;
5891
42.2k
        }
5892
42.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
431k
    {
5871
431k
        if constexpr (!detail::is_type_disabled<T> &&
5872
431k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
431k
            auto rd = make_reader<T, char_type>();
5876
431k
            return impl(rd, range, value);
5877
431k
        }
5878
431k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
431k
            auto rd = make_reader<T, char_type>();
5880
431k
            if (!is_segment_contiguous(range)) {
5881
431k
                return impl(rd, range, value);
5882
431k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
431k
        else {
5889
431k
            SCN_EXPECT(false);
5890
431k
            SCN_UNREACHABLE;
5891
431k
        }
5892
431k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
5893
5894
    basic_scan_context<char_type> make_custom_ctx()
5895
0
    {
5896
0
        if constexpr (std::is_same_v<
5897
0
                          context_type,
5898
0
                          basic_contiguous_scan_context<char_type>>) {
5899
0
            auto it =
5900
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
5901
0
                    std::basic_string_view<char_type>(range.data(),
5902
0
                                                      range.size()),
5903
0
                    0};
5904
0
            return {it, args, loc};
5905
0
        }
5906
0
        else {
5907
0
            return {range.begin(), args, loc};
5908
0
        }
5909
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::make_custom_ctx()
5910
5911
    scan_expected<iterator> operator()(
5912
        typename context_type::arg_type::handle h)
5913
0
    {
5914
0
        if constexpr (!detail::is_type_disabled<void>) {
5915
0
            basic_scan_parse_context<char_type> parse_ctx{{}};
5916
0
            auto ctx = make_custom_ctx();
5917
0
            if (auto e = h.scan(parse_ctx, ctx); !e) {
5918
0
                return unexpected(e);
5919
0
            }
5920
5921
0
            if constexpr (std::is_same_v<
5922
0
                              context_type,
5923
0
                              basic_contiguous_scan_context<char_type>>) {
5924
0
                return range.begin() + ctx.begin().position();
5925
0
            }
5926
0
            else {
5927
0
                return ctx.begin();
5928
0
            }
5929
0
        }
5930
0
        else {
5931
0
            SCN_EXPECT(false);
5932
0
            SCN_UNREACHABLE;
5933
0
        }
5934
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
5935
5936
    range_type range;
5937
    args_type args;
5938
    detail::locale_ref loc;
5939
};
5940
5941
template <typename Iterator>
5942
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
5943
5944
template <typename Range>
5945
auto skip_fill(Range range,
5946
               std::ptrdiff_t max_width,
5947
               const detail::fill_type& fill,
5948
               bool want_skipped_width)
5949
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
5950
3.80k
{
5951
3.80k
    using char_type = detail::char_t<Range>;
5952
3.80k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
3.80k
    if (fill.size() <= sizeof(char_type)) {
5955
3.27k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
4.65k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
2.47k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
1.11k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
784
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
280
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
3.27k
        if (max_width == 0) {
5959
2.36k
            auto it = read_while_code_unit(range, pred);
5960
5961
2.36k
            if (want_skipped_width) {
5962
232
                auto prefix_width =
5963
232
                    static_cast<std::ptrdiff_t>(
5964
232
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
232
                    ranges::distance(range.begin(), it);
5966
232
                return result_type{it, prefix_width};
5967
232
            }
5968
2.12k
            return result_type{it, 0};
5969
2.36k
        }
5970
5971
918
        auto max_width_view = take_width(range, max_width);
5972
918
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
918
        if (want_skipped_width) {
5975
918
            return result_type{w_it.base(), max_width - w_it.count()};
5976
918
        }
5977
0
        return result_type{w_it.base(), 0};
5978
918
    }
5979
5980
528
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
528
    if (max_width == 0) {
5982
180
        auto it = read_while_code_units(range, fill_chars);
5983
5984
180
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
128
        return result_type{it, 0};
5991
180
    }
5992
5993
348
    auto max_width_view = take_width(range, max_width);
5994
348
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
348
    if (want_skipped_width) {
5997
348
        return result_type{w_it.base(), max_width - w_it.count()};
5998
348
    }
5999
0
    return result_type{w_it.base(), 0};
6000
348
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
2.36k
{
5951
2.36k
    using char_type = detail::char_t<Range>;
5952
2.36k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
2.36k
    if (fill.size() <= sizeof(char_type)) {
5955
2.04k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
2.04k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
2.04k
        if (max_width == 0) {
5959
1.91k
            auto it = read_while_code_unit(range, pred);
5960
5961
1.91k
            if (want_skipped_width) {
5962
142
                auto prefix_width =
5963
142
                    static_cast<std::ptrdiff_t>(
5964
142
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
142
                    ranges::distance(range.begin(), it);
5966
142
                return result_type{it, prefix_width};
5967
142
            }
5968
1.77k
            return result_type{it, 0};
5969
1.91k
        }
5970
5971
132
        auto max_width_view = take_width(range, max_width);
5972
132
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
132
        if (want_skipped_width) {
5975
132
            return result_type{w_it.base(), max_width - w_it.count()};
5976
132
        }
5977
0
        return result_type{w_it.base(), 0};
5978
132
    }
5979
5980
314
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
314
    if (max_width == 0) {
5982
180
        auto it = read_while_code_units(range, fill_chars);
5983
5984
180
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
128
        return result_type{it, 0};
5991
180
    }
5992
5993
134
    auto max_width_view = take_width(range, max_width);
5994
134
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
134
    if (want_skipped_width) {
5997
134
        return result_type{w_it.base(), max_width - w_it.count()};
5998
134
    }
5999
0
    return result_type{w_it.base(), 0};
6000
134
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
520
{
5951
520
    using char_type = detail::char_t<Range>;
5952
520
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
520
    if (fill.size() <= sizeof(char_type)) {
5955
520
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
520
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
520
        if (max_width == 0) {
5959
444
            auto it = read_while_code_unit(range, pred);
5960
5961
444
            if (want_skipped_width) {
5962
90
                auto prefix_width =
5963
90
                    static_cast<std::ptrdiff_t>(
5964
90
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
90
                    ranges::distance(range.begin(), it);
5966
90
                return result_type{it, prefix_width};
5967
90
            }
5968
354
            return result_type{it, 0};
5969
444
        }
5970
5971
76
        auto max_width_view = take_width(range, max_width);
5972
76
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
76
        if (want_skipped_width) {
5975
76
            return result_type{w_it.base(), max_width - w_it.count()};
5976
76
        }
5977
0
        return result_type{w_it.base(), 0};
5978
76
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
690
{
5951
690
    using char_type = detail::char_t<Range>;
5952
690
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
690
    if (fill.size() <= sizeof(char_type)) {
5955
476
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
476
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
476
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
476
        auto max_width_view = take_width(range, max_width);
5972
476
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
476
        if (want_skipped_width) {
5975
476
            return result_type{w_it.base(), max_width - w_it.count()};
5976
476
        }
5977
0
        return result_type{w_it.base(), 0};
5978
476
    }
5979
5980
214
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
214
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
214
    auto max_width_view = take_width(range, max_width);
5994
214
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
214
    if (want_skipped_width) {
5997
214
        return result_type{w_it.base(), max_width - w_it.count()};
5998
214
    }
5999
0
    return result_type{w_it.base(), 0};
6000
214
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
234
{
5951
234
    using char_type = detail::char_t<Range>;
5952
234
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
234
    if (fill.size() <= sizeof(char_type)) {
5955
234
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
234
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
234
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
234
        auto max_width_view = take_width(range, max_width);
5972
234
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
234
        if (want_skipped_width) {
5975
234
            return result_type{w_it.base(), max_width - w_it.count()};
5976
234
        }
5977
0
        return result_type{w_it.base(), 0};
5978
234
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
6001
6002
SCN_MAYBE_UNUSED constexpr scan_error check_widths_for_arg_reader(
6003
    const detail::format_specs& specs,
6004
    std::ptrdiff_t prefix_width,
6005
    std::ptrdiff_t value_width,
6006
    std::ptrdiff_t postfix_width)
6007
5.96M
{
6008
5.96M
    if (specs.width != 0) {
6009
2.04k
        if (prefix_width + value_width + postfix_width < specs.width) {
6010
900
            return {scan_error::invalid_scanned_value,
6011
900
                    "Scanned value too narrow, width did not exceed what "
6012
900
                    "was specified in the format string"};
6013
900
        }
6014
2.04k
    }
6015
5.96M
    if (specs.precision != 0) {
6016
1.82k
        if (prefix_width + value_width + postfix_width > specs.precision) {
6017
102
            return {scan_error::invalid_scanned_value,
6018
102
                    "Scanned value too wide, width exceeded the specified "
6019
102
                    "precision"};
6020
102
        }
6021
1.82k
    }
6022
5.96M
    return {};
6023
5.96M
}
6024
6025
template <typename Context>
6026
struct arg_reader {
6027
    using context_type = Context;
6028
    using char_type = typename context_type::char_type;
6029
6030
    using range_type = typename context_type::range_type;
6031
    using iterator = ranges::iterator_t<range_type>;
6032
6033
    template <typename Range>
6034
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6035
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6036
7.24M
    {
6037
7.24M
        const bool need_skipped_width =
6038
7.24M
            specs.width != 0 || specs.precision != 0;
6039
7.24M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
7.24M
        if (specs.align == detail::align_type::right ||
6043
7.24M
            specs.align == detail::align_type::center) {
6044
3.13k
            return skip_fill(rng, specs.precision, specs.fill,
6045
3.13k
                             need_skipped_width);
6046
3.13k
        }
6047
7.24M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
7.20M
            if (specs.precision != 0) {
6051
2.73k
                auto max_width_view = take_width(rng, specs.precision);
6052
2.73k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
2.56k
                                  .transform_error(make_eof_scan_error));
6054
2.56k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
2.73k
            }
6056
14.3M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
14.3M
                            make_eof_scan_error));
6058
6059
14.3M
            if (need_skipped_width) {
6060
2.97k
                return result_type{
6061
2.97k
                    it,
6062
2.97k
                    calculate_text_width(make_contiguous_buffer(
6063
2.97k
                                             ranges::subrange{rng.begin(), it})
6064
2.97k
                                             .view())};
6065
2.97k
            }
6066
7.12M
            return result_type{it, 0};
6067
14.3M
        }
6068
6069
40.7k
        return result_type{rng.begin(), 0};
6070
7.24M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
2.57M
    {
6037
2.57M
        const bool need_skipped_width =
6038
2.57M
            specs.width != 0 || specs.precision != 0;
6039
2.57M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
2.57M
        if (specs.align == detail::align_type::right ||
6043
2.57M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
2.57M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
2.57M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
5.11M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
5.11M
                            make_eof_scan_error));
6058
6059
5.11M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
2.53M
            return result_type{it, 0};
6067
5.11M
        }
6068
6069
2.77k
        return result_type{rng.begin(), 0};
6070
2.57M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
923k
    {
6037
923k
        const bool need_skipped_width =
6038
923k
            specs.width != 0 || specs.precision != 0;
6039
923k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
923k
        if (specs.align == detail::align_type::right ||
6043
923k
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
923k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
919k
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
1.83M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
1.83M
                            make_eof_scan_error));
6058
6059
1.83M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
913k
            return result_type{it, 0};
6067
1.83M
        }
6068
6069
3.94k
        return result_type{rng.begin(), 0};
6070
923k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
3.92k
    {
6037
3.92k
        const bool need_skipped_width =
6038
3.92k
            specs.width != 0 || specs.precision != 0;
6039
3.92k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.92k
        if (specs.align == detail::align_type::right ||
6043
3.92k
            specs.align == detail::align_type::center) {
6044
690
            return skip_fill(rng, specs.precision, specs.fill,
6045
690
                             need_skipped_width);
6046
690
        }
6047
3.23k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.94k
            if (specs.precision != 0) {
6051
1.94k
                auto max_width_view = take_width(rng, specs.precision);
6052
1.94k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
1.76k
                                  .transform_error(make_eof_scan_error));
6054
1.76k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
1.94k
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
1.29k
        return result_type{rng.begin(), 0};
6070
3.23k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
2.51M
    {
6037
2.51M
        const bool need_skipped_width =
6038
2.51M
            specs.width != 0 || specs.precision != 0;
6039
2.51M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
2.51M
        if (specs.align == detail::align_type::right ||
6043
2.51M
            specs.align == detail::align_type::center) {
6044
1.88k
            return skip_fill(rng, specs.precision, specs.fill,
6045
1.88k
                             need_skipped_width);
6046
1.88k
        }
6047
2.51M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
2.49M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
4.96M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
4.96M
                            make_eof_scan_error));
6058
6059
4.96M
            if (need_skipped_width) {
6060
1.03k
                return result_type{
6061
1.03k
                    it,
6062
1.03k
                    calculate_text_width(make_contiguous_buffer(
6063
1.03k
                                             ranges::subrange{rng.begin(), it})
6064
1.03k
                                             .view())};
6065
1.03k
            }
6066
2.46M
            return result_type{it, 0};
6067
4.96M
        }
6068
6069
18.1k
        return result_type{rng.begin(), 0};
6070
2.51M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
1.42k
    {
6037
1.42k
        const bool need_skipped_width =
6038
1.42k
            specs.width != 0 || specs.precision != 0;
6039
1.42k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
1.42k
        if (specs.align == detail::align_type::right ||
6043
1.42k
            specs.align == detail::align_type::center) {
6044
234
            return skip_fill(rng, specs.precision, specs.fill,
6045
234
                             need_skipped_width);
6046
234
        }
6047
1.18k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
796
            if (specs.precision != 0) {
6051
796
                auto max_width_view = take_width(rng, specs.precision);
6052
796
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
796
                                  .transform_error(make_eof_scan_error));
6054
796
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
796
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
392
        return result_type{rng.begin(), 0};
6070
1.18k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
1.22M
    {
6037
1.22M
        const bool need_skipped_width =
6038
1.22M
            specs.width != 0 || specs.precision != 0;
6039
1.22M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
1.22M
        if (specs.align == detail::align_type::right ||
6043
1.22M
            specs.align == detail::align_type::center) {
6044
330
            return skip_fill(rng, specs.precision, specs.fill,
6045
330
                             need_skipped_width);
6046
330
        }
6047
1.22M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.20M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
2.41M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
2.41M
                            make_eof_scan_error));
6058
6059
2.41M
            if (need_skipped_width) {
6060
1.93k
                return result_type{
6061
1.93k
                    it,
6062
1.93k
                    calculate_text_width(make_contiguous_buffer(
6063
1.93k
                                             ranges::subrange{rng.begin(), it})
6064
1.93k
                                             .view())};
6065
1.93k
            }
6066
1.20M
            return result_type{it, 0};
6067
2.41M
        }
6068
6069
14.2k
        return result_type{rng.begin(), 0};
6070
1.22M
    }
6071
6072
    template <typename Range>
6073
    auto impl_postfix(Range rng,
6074
                      bool rd_skip_ws_before_read,
6075
                      std::ptrdiff_t prefix_width,
6076
                      std::ptrdiff_t value_width)
6077
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6078
5.90M
    {
6079
5.90M
        const bool need_skipped_width =
6080
5.90M
            specs.width != 0 || specs.precision != 0;
6081
5.90M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
5.90M
        if (specs.align == detail::align_type::left ||
6084
5.90M
            specs.align == detail::align_type::center) {
6085
800
            if (specs.precision != 0 &&
6086
800
                specs.precision - value_width - prefix_width == 0) {
6087
128
                return result_type{rng.begin(), 0};
6088
128
            }
6089
672
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
672
                             specs.fill, need_skipped_width);
6091
800
        }
6092
5.90M
        if (specs.align == detail::align_type::none &&
6093
5.90M
            !rd_skip_ws_before_read &&
6094
5.90M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
7.21k
             (specs.precision != 0 &&
6096
6.62k
              prefix_width + value_width < specs.precision))) {
6097
1.21k
            if (specs.precision != 0) {
6098
630
                const auto initial_width =
6099
630
                    specs.precision - prefix_width - value_width;
6100
630
                auto max_width_view = take_width(rng, initial_width);
6101
630
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
630
                                  .transform_error(make_eof_scan_error));
6103
630
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
630
            }
6105
1.16k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
1.16k
                            make_eof_scan_error));
6107
6108
1.16k
            if (need_skipped_width) {
6109
584
                return result_type{
6110
584
                    it,
6111
584
                    calculate_text_width(make_contiguous_buffer(
6112
584
                                             ranges::subrange{rng.begin(), it})
6113
584
                                             .view())};
6114
584
            }
6115
0
            return result_type{it, 0};
6116
1.16k
        }
6117
5.90M
        return result_type{rng.begin(), 0};
6118
5.90M
    }
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
2.34M
    {
6079
2.34M
        const bool need_skipped_width =
6080
2.34M
            specs.width != 0 || specs.precision != 0;
6081
2.34M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
2.34M
        if (specs.align == detail::align_type::left ||
6084
2.34M
            specs.align == detail::align_type::center) {
6085
0
            if (specs.precision != 0 &&
6086
0
                specs.precision - value_width - prefix_width == 0) {
6087
0
                return result_type{rng.begin(), 0};
6088
0
            }
6089
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
0
                             specs.fill, need_skipped_width);
6091
0
        }
6092
2.34M
        if (specs.align == detail::align_type::none &&
6093
2.34M
            !rd_skip_ws_before_read &&
6094
2.34M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
812
             (specs.precision != 0 &&
6096
812
              prefix_width + value_width < specs.precision))) {
6097
0
            if (specs.precision != 0) {
6098
0
                const auto initial_width =
6099
0
                    specs.precision - prefix_width - value_width;
6100
0
                auto max_width_view = take_width(rng, initial_width);
6101
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
0
                                  .transform_error(make_eof_scan_error));
6103
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
0
            }
6105
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
0
                            make_eof_scan_error));
6107
6108
0
            if (need_skipped_width) {
6109
0
                return result_type{
6110
0
                    it,
6111
0
                    calculate_text_width(make_contiguous_buffer(
6112
0
                                             ranges::subrange{rng.begin(), it})
6113
0
                                             .view())};
6114
0
            }
6115
0
            return result_type{it, 0};
6116
0
        }
6117
2.34M
        return result_type{rng.begin(), 0};
6118
2.34M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
504k
    {
6079
504k
        const bool need_skipped_width =
6080
504k
            specs.width != 0 || specs.precision != 0;
6081
504k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
504k
        if (specs.align == detail::align_type::left ||
6084
504k
            specs.align == detail::align_type::center) {
6085
0
            if (specs.precision != 0 &&
6086
0
                specs.precision - value_width - prefix_width == 0) {
6087
0
                return result_type{rng.begin(), 0};
6088
0
            }
6089
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
0
                             specs.fill, need_skipped_width);
6091
0
        }
6092
504k
        if (specs.align == detail::align_type::none &&
6093
504k
            !rd_skip_ws_before_read &&
6094
504k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
54
             (specs.precision != 0 &&
6096
54
              prefix_width + value_width < specs.precision))) {
6097
0
            if (specs.precision != 0) {
6098
0
                const auto initial_width =
6099
0
                    specs.precision - prefix_width - value_width;
6100
0
                auto max_width_view = take_width(rng, initial_width);
6101
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
0
                                  .transform_error(make_eof_scan_error));
6103
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
0
            }
6105
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
0
                            make_eof_scan_error));
6107
6108
0
            if (need_skipped_width) {
6109
0
                return result_type{
6110
0
                    it,
6111
0
                    calculate_text_width(make_contiguous_buffer(
6112
0
                                             ranges::subrange{rng.begin(), it})
6113
0
                                             .view())};
6114
0
            }
6115
0
            return result_type{it, 0};
6116
0
        }
6117
504k
        return result_type{rng.begin(), 0};
6118
504k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
2.26M
    {
6079
2.26M
        const bool need_skipped_width =
6080
2.26M
            specs.width != 0 || specs.precision != 0;
6081
2.26M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
2.26M
        if (specs.align == detail::align_type::left ||
6084
2.26M
            specs.align == detail::align_type::center) {
6085
566
            if (specs.precision != 0 &&
6086
566
                specs.precision - value_width - prefix_width == 0) {
6087
84
                return result_type{rng.begin(), 0};
6088
84
            }
6089
482
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
482
                             specs.fill, need_skipped_width);
6091
566
        }
6092
2.26M
        if (specs.align == detail::align_type::none &&
6093
2.26M
            !rd_skip_ws_before_read &&
6094
2.26M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
4.86k
             (specs.precision != 0 &&
6096
4.68k
              prefix_width + value_width < specs.precision))) {
6097
648
            if (specs.precision != 0) {
6098
468
                const auto initial_width =
6099
468
                    specs.precision - prefix_width - value_width;
6100
468
                auto max_width_view = take_width(rng, initial_width);
6101
468
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
468
                                  .transform_error(make_eof_scan_error));
6103
468
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
468
            }
6105
360
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
360
                            make_eof_scan_error));
6107
6108
360
            if (need_skipped_width) {
6109
180
                return result_type{
6110
180
                    it,
6111
180
                    calculate_text_width(make_contiguous_buffer(
6112
180
                                             ranges::subrange{rng.begin(), it})
6113
180
                                             .view())};
6114
180
            }
6115
0
            return result_type{it, 0};
6116
360
        }
6117
2.26M
        return result_type{rng.begin(), 0};
6118
2.26M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
789k
    {
6079
789k
        const bool need_skipped_width =
6080
789k
            specs.width != 0 || specs.precision != 0;
6081
789k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
789k
        if (specs.align == detail::align_type::left ||
6084
789k
            specs.align == detail::align_type::center) {
6085
234
            if (specs.precision != 0 &&
6086
234
                specs.precision - value_width - prefix_width == 0) {
6087
44
                return result_type{rng.begin(), 0};
6088
44
            }
6089
190
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
190
                             specs.fill, need_skipped_width);
6091
234
        }
6092
789k
        if (specs.align == detail::align_type::none &&
6093
789k
            !rd_skip_ws_before_read &&
6094
789k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
1.48k
             (specs.precision != 0 &&
6096
1.07k
              prefix_width + value_width < specs.precision))) {
6097
566
            if (specs.precision != 0) {
6098
162
                const auto initial_width =
6099
162
                    specs.precision - prefix_width - value_width;
6100
162
                auto max_width_view = take_width(rng, initial_width);
6101
162
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
162
                                  .transform_error(make_eof_scan_error));
6103
162
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
162
            }
6105
808
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
808
                            make_eof_scan_error));
6107
6108
808
            if (need_skipped_width) {
6109
404
                return result_type{
6110
404
                    it,
6111
404
                    calculate_text_width(make_contiguous_buffer(
6112
404
                                             ranges::subrange{rng.begin(), it})
6113
404
                                             .view())};
6114
404
            }
6115
0
            return result_type{it, 0};
6116
808
        }
6117
788k
        return result_type{rng.begin(), 0};
6118
789k
    }
6119
6120
    template <typename Reader, typename Range, typename T>
6121
    auto impl(Reader& rd, Range rng, T& value)
6122
        -> scan_expected<ranges::iterator_t<Range>>
6123
7.24M
    {
6124
7.24M
        const bool need_skipped_width =
6125
7.24M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
7.24M
        auto it = rng.begin();
6129
7.24M
        std::ptrdiff_t prefix_width = 0;
6130
7.24M
        if (specs.precision != 0) {
6131
5.35k
            auto max_width_view = take_width(rng, specs.precision);
6132
5.35k
            SCN_TRY(prefix_result,
6133
5.17k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
5.17k
            it = prefix_result.first.base();
6135
5.17k
            prefix_width = prefix_result.second;
6136
5.17k
        }
6137
7.24M
        else {
6138
7.24M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
7.16M
            std::tie(it, prefix_width) = prefix_result;
6140
7.16M
        }
6141
7.16M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
7.16M
        std::ptrdiff_t value_width = 0;
6145
7.16M
        if (specs.precision != 0) {
6146
5.17k
            if (specs.precision <= prefix_width) {
6147
88
                return unexpected_scan_error(
6148
88
                    scan_error::invalid_scanned_value,
6149
88
                    "Too many fill characters before value, "
6150
88
                    "precision exceeded before reading value");
6151
88
            }
6152
6153
5.08k
            const auto initial_width = specs.precision - prefix_width;
6154
5.08k
            auto max_width_view =
6155
5.08k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
5.08k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
1.82k
            it = w_it.base();
6158
1.82k
            value_width = initial_width - w_it.count();
6159
1.82k
        }
6160
7.16M
        else {
6161
7.16M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
5.96M
                                             specs, value, loc));
6163
6164
5.96M
            if (need_skipped_width) {
6165
1.99k
                value_width = calculate_text_width(
6166
1.99k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
1.99k
                        .view());
6168
1.99k
            }
6169
5.96M
        }
6170
6171
        // Read postfix
6172
5.96M
        std::ptrdiff_t postfix_width = 0;
6173
5.96M
        if (it != rng.end()) {
6174
5.90M
            SCN_TRY(postfix_result,
6175
5.90M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
5.90M
                                 rd.skip_ws_before_read(), prefix_width,
6177
5.90M
                                 value_width));
6178
5.90M
            std::tie(it, postfix_width) = postfix_result;
6179
5.90M
        }
6180
6181
5.96M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
5.96M
                                                 value_width, postfix_width);
6183
5.96M
            !e) {
6184
1.00k
            return unexpected(e);
6185
1.00k
        }
6186
6187
5.96M
        return it;
6188
5.96M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
248k
    {
6124
248k
        const bool need_skipped_width =
6125
248k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
248k
        auto it = rng.begin();
6129
248k
        std::ptrdiff_t prefix_width = 0;
6130
248k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
248k
        else {
6138
248k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
245k
            std::tie(it, prefix_width) = prefix_result;
6140
245k
        }
6141
245k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
245k
        std::ptrdiff_t value_width = 0;
6145
245k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
245k
        else {
6161
245k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
224k
                                             specs, value, loc));
6163
6164
224k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
224k
        }
6170
6171
        // Read postfix
6172
224k
        std::ptrdiff_t postfix_width = 0;
6173
224k
        if (it != rng.end()) {
6174
222k
            SCN_TRY(postfix_result,
6175
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
222k
                                 rd.skip_ws_before_read(), prefix_width,
6177
222k
                                 value_width));
6178
222k
            std::tie(it, postfix_width) = postfix_result;
6179
222k
        }
6180
6181
224k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
224k
                                                 value_width, postfix_width);
6183
224k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
224k
        return it;
6188
224k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
322k
    {
6124
322k
        const bool need_skipped_width =
6125
322k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
322k
        auto it = rng.begin();
6129
322k
        std::ptrdiff_t prefix_width = 0;
6130
322k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
322k
        else {
6138
322k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
318k
            std::tie(it, prefix_width) = prefix_result;
6140
318k
        }
6141
318k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
318k
        std::ptrdiff_t value_width = 0;
6145
318k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
318k
        else {
6161
318k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
299k
                                             specs, value, loc));
6163
6164
299k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
299k
        }
6170
6171
        // Read postfix
6172
299k
        std::ptrdiff_t postfix_width = 0;
6173
299k
        if (it != rng.end()) {
6174
296k
            SCN_TRY(postfix_result,
6175
296k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
296k
                                 rd.skip_ws_before_read(), prefix_width,
6177
296k
                                 value_width));
6178
296k
            std::tie(it, postfix_width) = postfix_result;
6179
296k
        }
6180
6181
299k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
299k
                                                 value_width, postfix_width);
6183
299k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
299k
        return it;
6188
299k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
328k
    {
6124
328k
        const bool need_skipped_width =
6125
328k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
328k
        auto it = rng.begin();
6129
328k
        std::ptrdiff_t prefix_width = 0;
6130
328k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
328k
        else {
6138
328k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
324k
            std::tie(it, prefix_width) = prefix_result;
6140
324k
        }
6141
324k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
324k
        std::ptrdiff_t value_width = 0;
6145
324k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
324k
        else {
6161
324k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
305k
                                             specs, value, loc));
6163
6164
305k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
305k
        }
6170
6171
        // Read postfix
6172
305k
        std::ptrdiff_t postfix_width = 0;
6173
305k
        if (it != rng.end()) {
6174
302k
            SCN_TRY(postfix_result,
6175
302k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
302k
                                 rd.skip_ws_before_read(), prefix_width,
6177
302k
                                 value_width));
6178
302k
            std::tie(it, postfix_width) = postfix_result;
6179
302k
        }
6180
6181
305k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
305k
                                                 value_width, postfix_width);
6183
305k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
305k
        return it;
6188
305k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
243k
    {
6124
243k
        const bool need_skipped_width =
6125
243k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
243k
        auto it = rng.begin();
6129
243k
        std::ptrdiff_t prefix_width = 0;
6130
243k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
243k
        else {
6138
243k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
241k
            std::tie(it, prefix_width) = prefix_result;
6140
241k
        }
6141
241k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
241k
        std::ptrdiff_t value_width = 0;
6145
241k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
241k
        else {
6161
241k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
220k
                                             specs, value, loc));
6163
6164
220k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
220k
        }
6170
6171
        // Read postfix
6172
220k
        std::ptrdiff_t postfix_width = 0;
6173
220k
        if (it != rng.end()) {
6174
218k
            SCN_TRY(postfix_result,
6175
218k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
218k
                                 rd.skip_ws_before_read(), prefix_width,
6177
218k
                                 value_width));
6178
218k
            std::tie(it, postfix_width) = postfix_result;
6179
218k
        }
6180
6181
220k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
220k
                                                 value_width, postfix_width);
6183
220k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
220k
        return it;
6188
220k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
277k
    {
6124
277k
        const bool need_skipped_width =
6125
277k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
277k
        auto it = rng.begin();
6129
277k
        std::ptrdiff_t prefix_width = 0;
6130
277k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
277k
        else {
6138
277k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
274k
            std::tie(it, prefix_width) = prefix_result;
6140
274k
        }
6141
274k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
274k
        std::ptrdiff_t value_width = 0;
6145
274k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
274k
        else {
6161
274k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
254k
                                             specs, value, loc));
6163
6164
254k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
254k
        }
6170
6171
        // Read postfix
6172
254k
        std::ptrdiff_t postfix_width = 0;
6173
254k
        if (it != rng.end()) {
6174
252k
            SCN_TRY(postfix_result,
6175
252k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
252k
                                 rd.skip_ws_before_read(), prefix_width,
6177
252k
                                 value_width));
6178
252k
            std::tie(it, postfix_width) = postfix_result;
6179
252k
        }
6180
6181
254k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
254k
                                                 value_width, postfix_width);
6183
254k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
254k
        return it;
6188
254k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
280k
    {
6124
280k
        const bool need_skipped_width =
6125
280k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
280k
        auto it = rng.begin();
6129
280k
        std::ptrdiff_t prefix_width = 0;
6130
280k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
280k
        else {
6138
280k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
277k
            std::tie(it, prefix_width) = prefix_result;
6140
277k
        }
6141
277k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
277k
        std::ptrdiff_t value_width = 0;
6145
277k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
277k
        else {
6161
277k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
257k
                                             specs, value, loc));
6163
6164
257k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
257k
        }
6170
6171
        // Read postfix
6172
257k
        std::ptrdiff_t postfix_width = 0;
6173
257k
        if (it != rng.end()) {
6174
254k
            SCN_TRY(postfix_result,
6175
254k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
254k
                                 rd.skip_ws_before_read(), prefix_width,
6177
254k
                                 value_width));
6178
254k
            std::tie(it, postfix_width) = postfix_result;
6179
254k
        }
6180
6181
257k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
257k
                                                 value_width, postfix_width);
6183
257k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
257k
        return it;
6188
257k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
262k
    {
6124
262k
        const bool need_skipped_width =
6125
262k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
262k
        auto it = rng.begin();
6129
262k
        std::ptrdiff_t prefix_width = 0;
6130
262k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
262k
        else {
6138
262k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
258k
            std::tie(it, prefix_width) = prefix_result;
6140
258k
        }
6141
258k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
258k
        std::ptrdiff_t value_width = 0;
6145
258k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
258k
        else {
6161
258k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
241k
                                             specs, value, loc));
6163
6164
241k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
241k
        }
6170
6171
        // Read postfix
6172
241k
        std::ptrdiff_t postfix_width = 0;
6173
241k
        if (it != rng.end()) {
6174
238k
            SCN_TRY(postfix_result,
6175
238k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
238k
                                 rd.skip_ws_before_read(), prefix_width,
6177
238k
                                 value_width));
6178
238k
            std::tie(it, postfix_width) = postfix_result;
6179
238k
        }
6180
6181
241k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
241k
                                                 value_width, postfix_width);
6183
241k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
241k
        return it;
6188
241k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
272k
    {
6124
272k
        const bool need_skipped_width =
6125
272k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
272k
        auto it = rng.begin();
6129
272k
        std::ptrdiff_t prefix_width = 0;
6130
272k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
272k
        else {
6138
272k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
268k
            std::tie(it, prefix_width) = prefix_result;
6140
268k
        }
6141
268k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
268k
        std::ptrdiff_t value_width = 0;
6145
268k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
268k
        else {
6161
268k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
251k
                                             specs, value, loc));
6163
6164
251k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
251k
        }
6170
6171
        // Read postfix
6172
251k
        std::ptrdiff_t postfix_width = 0;
6173
251k
        if (it != rng.end()) {
6174
247k
            SCN_TRY(postfix_result,
6175
247k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
247k
                                 rd.skip_ws_before_read(), prefix_width,
6177
247k
                                 value_width));
6178
247k
            std::tie(it, postfix_width) = postfix_result;
6179
247k
        }
6180
6181
251k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
251k
                                                 value_width, postfix_width);
6183
251k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
251k
        return it;
6188
251k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
275k
    {
6124
275k
        const bool need_skipped_width =
6125
275k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
275k
        auto it = rng.begin();
6129
275k
        std::ptrdiff_t prefix_width = 0;
6130
275k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
275k
        else {
6138
275k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
270k
            std::tie(it, prefix_width) = prefix_result;
6140
270k
        }
6141
270k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
270k
        std::ptrdiff_t value_width = 0;
6145
270k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
270k
        else {
6161
270k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
254k
                                             specs, value, loc));
6163
6164
254k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
254k
        }
6170
6171
        // Read postfix
6172
254k
        std::ptrdiff_t postfix_width = 0;
6173
254k
        if (it != rng.end()) {
6174
250k
            SCN_TRY(postfix_result,
6175
250k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
250k
                                 rd.skip_ws_before_read(), prefix_width,
6177
250k
                                 value_width));
6178
250k
            std::tie(it, postfix_width) = postfix_result;
6179
250k
        }
6180
6181
254k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
254k
                                                 value_width, postfix_width);
6183
254k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
254k
        return it;
6188
254k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6123
63.5k
    {
6124
63.5k
        const bool need_skipped_width =
6125
63.5k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
63.5k
        auto it = rng.begin();
6129
63.5k
        std::ptrdiff_t prefix_width = 0;
6130
63.5k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
63.5k
        else {
6138
63.5k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
62.6k
            std::tie(it, prefix_width) = prefix_result;
6140
62.6k
        }
6141
62.6k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
62.6k
        std::ptrdiff_t value_width = 0;
6145
62.6k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
62.6k
        else {
6161
62.6k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
59.7k
                                             specs, value, loc));
6163
6164
59.7k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
59.7k
        }
6170
6171
        // Read postfix
6172
59.7k
        std::ptrdiff_t postfix_width = 0;
6173
59.7k
        if (it != rng.end()) {
6174
59.1k
            SCN_TRY(postfix_result,
6175
59.1k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
59.1k
                                 rd.skip_ws_before_read(), prefix_width,
6177
59.1k
                                 value_width));
6178
59.1k
            std::tie(it, postfix_width) = postfix_result;
6179
59.1k
        }
6180
6181
59.7k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
59.7k
                                                 value_width, postfix_width);
6183
59.7k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
59.7k
        return it;
6188
59.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
460
                                             specs, value, loc));
6163
6164
460
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
460
        }
6170
6171
        // Read postfix
6172
460
        std::ptrdiff_t postfix_width = 0;
6173
460
        if (it != rng.end()) {
6174
292
            SCN_TRY(postfix_result,
6175
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
292
                                 rd.skip_ws_before_read(), prefix_width,
6177
292
                                 value_width));
6178
292
            std::tie(it, postfix_width) = postfix_result;
6179
292
        }
6180
6181
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
460
                                                 value_width, postfix_width);
6183
460
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
460
        return it;
6188
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
546
                                             specs, value, loc));
6163
6164
546
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
546
        }
6170
6171
        // Read postfix
6172
546
        std::ptrdiff_t postfix_width = 0;
6173
546
        if (it != rng.end()) {
6174
366
            SCN_TRY(postfix_result,
6175
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
366
                                 rd.skip_ws_before_read(), prefix_width,
6177
366
                                 value_width));
6178
366
            std::tie(it, postfix_width) = postfix_result;
6179
366
        }
6180
6181
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
546
                                                 value_width, postfix_width);
6183
546
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
546
        return it;
6188
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.3k
    {
6124
47.3k
        const bool need_skipped_width =
6125
47.3k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.3k
        auto it = rng.begin();
6129
47.3k
        std::ptrdiff_t prefix_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.3k
        else {
6138
47.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.0k
            std::tie(it, prefix_width) = prefix_result;
6140
47.0k
        }
6141
47.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.0k
        std::ptrdiff_t value_width = 0;
6145
47.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.0k
        else {
6161
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
654
                                             specs, value, loc));
6163
6164
654
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
654
        }
6170
6171
        // Read postfix
6172
654
        std::ptrdiff_t postfix_width = 0;
6173
654
        if (it != rng.end()) {
6174
474
            SCN_TRY(postfix_result,
6175
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
474
                                 rd.skip_ws_before_read(), prefix_width,
6177
474
                                 value_width));
6178
474
            std::tie(it, postfix_width) = postfix_result;
6179
474
        }
6180
6181
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
654
                                                 value_width, postfix_width);
6183
654
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
654
        return it;
6188
654
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.0k
    {
6124
47.0k
        const bool need_skipped_width =
6125
47.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.0k
        auto it = rng.begin();
6129
47.0k
        std::ptrdiff_t prefix_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.0k
        else {
6138
47.0k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
392
                                             specs, value, loc));
6163
6164
392
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
392
        }
6170
6171
        // Read postfix
6172
392
        std::ptrdiff_t postfix_width = 0;
6173
392
        if (it != rng.end()) {
6174
264
            SCN_TRY(postfix_result,
6175
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
264
                                 rd.skip_ws_before_read(), prefix_width,
6177
264
                                 value_width));
6178
264
            std::tie(it, postfix_width) = postfix_result;
6179
264
        }
6180
6181
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
392
                                                 value_width, postfix_width);
6183
392
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
392
        return it;
6188
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
438
                                             specs, value, loc));
6163
6164
438
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
438
        }
6170
6171
        // Read postfix
6172
438
        std::ptrdiff_t postfix_width = 0;
6173
438
        if (it != rng.end()) {
6174
310
            SCN_TRY(postfix_result,
6175
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
310
                                 rd.skip_ws_before_read(), prefix_width,
6177
310
                                 value_width));
6178
310
            std::tie(it, postfix_width) = postfix_result;
6179
310
        }
6180
6181
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
438
                                                 value_width, postfix_width);
6183
438
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
438
        return it;
6188
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
532
                                             specs, value, loc));
6163
6164
532
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
532
        }
6170
6171
        // Read postfix
6172
532
        std::ptrdiff_t postfix_width = 0;
6173
532
        if (it != rng.end()) {
6174
404
            SCN_TRY(postfix_result,
6175
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
404
                                 rd.skip_ws_before_read(), prefix_width,
6177
404
                                 value_width));
6178
404
            std::tie(it, postfix_width) = postfix_result;
6179
404
        }
6180
6181
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
532
                                                 value_width, postfix_width);
6183
532
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
532
        return it;
6188
532
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
113k
    {
6124
113k
        const bool need_skipped_width =
6125
113k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
113k
        auto it = rng.begin();
6129
113k
        std::ptrdiff_t prefix_width = 0;
6130
113k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
113k
        else {
6138
113k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
112k
            std::tie(it, prefix_width) = prefix_result;
6140
112k
        }
6141
112k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
112k
        std::ptrdiff_t value_width = 0;
6145
112k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
112k
        else {
6161
112k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
70.8k
                                             specs, value, loc));
6163
6164
70.8k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
70.8k
        }
6170
6171
        // Read postfix
6172
70.8k
        std::ptrdiff_t postfix_width = 0;
6173
70.8k
        if (it != rng.end()) {
6174
70.5k
            SCN_TRY(postfix_result,
6175
70.5k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
70.5k
                                 rd.skip_ws_before_read(), prefix_width,
6177
70.5k
                                 value_width));
6178
70.5k
            std::tie(it, postfix_width) = postfix_result;
6179
70.5k
        }
6180
6181
70.8k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
70.8k
                                                 value_width, postfix_width);
6183
70.8k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
70.8k
        return it;
6188
70.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
116k
    {
6124
116k
        const bool need_skipped_width =
6125
116k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
116k
        auto it = rng.begin();
6129
116k
        std::ptrdiff_t prefix_width = 0;
6130
116k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
116k
        else {
6138
116k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
115k
            std::tie(it, prefix_width) = prefix_result;
6140
115k
        }
6141
115k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
115k
        std::ptrdiff_t value_width = 0;
6145
115k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
115k
        else {
6161
115k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
74.2k
                                             specs, value, loc));
6163
6164
74.2k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
74.2k
        }
6170
6171
        // Read postfix
6172
74.2k
        std::ptrdiff_t postfix_width = 0;
6173
74.2k
        if (it != rng.end()) {
6174
73.8k
            SCN_TRY(postfix_result,
6175
73.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
73.8k
                                 rd.skip_ws_before_read(), prefix_width,
6177
73.8k
                                 value_width));
6178
73.8k
            std::tie(it, postfix_width) = postfix_result;
6179
73.8k
        }
6180
6181
74.2k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
74.2k
                                                 value_width, postfix_width);
6183
74.2k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
74.2k
        return it;
6188
74.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
118k
    {
6124
118k
        const bool need_skipped_width =
6125
118k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
118k
        auto it = rng.begin();
6129
118k
        std::ptrdiff_t prefix_width = 0;
6130
118k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
118k
        else {
6138
118k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
117k
            std::tie(it, prefix_width) = prefix_result;
6140
117k
        }
6141
117k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
117k
        std::ptrdiff_t value_width = 0;
6145
117k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
117k
        else {
6161
117k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
75.8k
                                             specs, value, loc));
6163
6164
75.8k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
75.8k
        }
6170
6171
        // Read postfix
6172
75.8k
        std::ptrdiff_t postfix_width = 0;
6173
75.8k
        if (it != rng.end()) {
6174
75.4k
            SCN_TRY(postfix_result,
6175
75.4k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
75.4k
                                 rd.skip_ws_before_read(), prefix_width,
6177
75.4k
                                 value_width));
6178
75.4k
            std::tie(it, postfix_width) = postfix_result;
6179
75.4k
        }
6180
6181
75.8k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
75.8k
                                                 value_width, postfix_width);
6183
75.8k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
75.8k
        return it;
6188
75.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6123
291k
    {
6124
291k
        const bool need_skipped_width =
6125
291k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
291k
        auto it = rng.begin();
6129
291k
        std::ptrdiff_t prefix_width = 0;
6130
291k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
291k
        else {
6138
291k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
290k
            std::tie(it, prefix_width) = prefix_result;
6140
290k
        }
6141
290k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
290k
        std::ptrdiff_t value_width = 0;
6145
290k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
290k
        else {
6161
290k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
283k
                                             specs, value, loc));
6163
6164
283k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
283k
        }
6170
6171
        // Read postfix
6172
283k
        std::ptrdiff_t postfix_width = 0;
6173
283k
        if (it != rng.end()) {
6174
282k
            SCN_TRY(postfix_result,
6175
282k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
282k
                                 rd.skip_ws_before_read(), prefix_width,
6177
282k
                                 value_width));
6178
282k
            std::tie(it, postfix_width) = postfix_result;
6179
282k
        }
6180
6181
283k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
283k
                                                 value_width, postfix_width);
6183
283k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
283k
        return it;
6188
283k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
247k
    {
6124
247k
        const bool need_skipped_width =
6125
247k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
247k
        auto it = rng.begin();
6129
247k
        std::ptrdiff_t prefix_width = 0;
6130
247k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
247k
        else {
6138
247k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
244k
            std::tie(it, prefix_width) = prefix_result;
6140
244k
        }
6141
244k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
244k
        std::ptrdiff_t value_width = 0;
6145
244k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
244k
        else {
6161
244k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
223k
                                             specs, value, loc));
6163
6164
223k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
223k
        }
6170
6171
        // Read postfix
6172
223k
        std::ptrdiff_t postfix_width = 0;
6173
223k
        if (it != rng.end()) {
6174
222k
            SCN_TRY(postfix_result,
6175
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
222k
                                 rd.skip_ws_before_read(), prefix_width,
6177
222k
                                 value_width));
6178
222k
            std::tie(it, postfix_width) = postfix_result;
6179
222k
        }
6180
6181
223k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
223k
                                                 value_width, postfix_width);
6183
223k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
223k
        return it;
6188
223k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
321k
    {
6124
321k
        const bool need_skipped_width =
6125
321k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
321k
        auto it = rng.begin();
6129
321k
        std::ptrdiff_t prefix_width = 0;
6130
321k
        if (specs.precision != 0) {
6131
304
            auto max_width_view = take_width(rng, specs.precision);
6132
304
            SCN_TRY(prefix_result,
6133
280
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
280
            it = prefix_result.first.base();
6135
280
            prefix_width = prefix_result.second;
6136
280
        }
6137
321k
        else {
6138
321k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
317k
            std::tie(it, prefix_width) = prefix_result;
6140
317k
        }
6141
317k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
317k
        std::ptrdiff_t value_width = 0;
6145
317k
        if (specs.precision != 0) {
6146
280
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
274
            const auto initial_width = specs.precision - prefix_width;
6154
274
            auto max_width_view =
6155
274
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
274
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
317k
        else {
6161
317k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
297k
                                             specs, value, loc));
6163
6164
297k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
297k
        }
6170
6171
        // Read postfix
6172
297k
        std::ptrdiff_t postfix_width = 0;
6173
297k
        if (it != rng.end()) {
6174
294k
            SCN_TRY(postfix_result,
6175
294k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
294k
                                 rd.skip_ws_before_read(), prefix_width,
6177
294k
                                 value_width));
6178
294k
            std::tie(it, postfix_width) = postfix_result;
6179
294k
        }
6180
6181
297k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
297k
                                                 value_width, postfix_width);
6183
297k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
297k
        return it;
6188
297k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
326k
    {
6124
326k
        const bool need_skipped_width =
6125
326k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
326k
        auto it = rng.begin();
6129
326k
        std::ptrdiff_t prefix_width = 0;
6130
326k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
326k
        else {
6138
326k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
322k
            std::tie(it, prefix_width) = prefix_result;
6140
322k
        }
6141
322k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
322k
        std::ptrdiff_t value_width = 0;
6145
322k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
322k
        else {
6161
322k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
303k
                                             specs, value, loc));
6163
6164
303k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
303k
        }
6170
6171
        // Read postfix
6172
303k
        std::ptrdiff_t postfix_width = 0;
6173
303k
        if (it != rng.end()) {
6174
300k
            SCN_TRY(postfix_result,
6175
300k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
300k
                                 rd.skip_ws_before_read(), prefix_width,
6177
300k
                                 value_width));
6178
300k
            std::tie(it, postfix_width) = postfix_result;
6179
300k
        }
6180
6181
303k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
303k
                                                 value_width, postfix_width);
6183
303k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
303k
        return it;
6188
303k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
242k
    {
6124
242k
        const bool need_skipped_width =
6125
242k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
242k
        auto it = rng.begin();
6129
242k
        std::ptrdiff_t prefix_width = 0;
6130
242k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
242k
        else {
6138
242k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
240k
            std::tie(it, prefix_width) = prefix_result;
6140
240k
        }
6141
240k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
240k
        std::ptrdiff_t value_width = 0;
6145
240k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
240k
        else {
6161
240k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
219k
                                             specs, value, loc));
6163
6164
219k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
219k
        }
6170
6171
        // Read postfix
6172
219k
        std::ptrdiff_t postfix_width = 0;
6173
219k
        if (it != rng.end()) {
6174
217k
            SCN_TRY(postfix_result,
6175
217k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
217k
                                 rd.skip_ws_before_read(), prefix_width,
6177
217k
                                 value_width));
6178
217k
            std::tie(it, postfix_width) = postfix_result;
6179
217k
        }
6180
6181
219k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
219k
                                                 value_width, postfix_width);
6183
219k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
219k
        return it;
6188
219k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
276k
    {
6124
276k
        const bool need_skipped_width =
6125
276k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
276k
        auto it = rng.begin();
6129
276k
        std::ptrdiff_t prefix_width = 0;
6130
276k
        if (specs.precision != 0) {
6131
304
            auto max_width_view = take_width(rng, specs.precision);
6132
304
            SCN_TRY(prefix_result,
6133
280
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
280
            it = prefix_result.first.base();
6135
280
            prefix_width = prefix_result.second;
6136
280
        }
6137
276k
        else {
6138
276k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
273k
            std::tie(it, prefix_width) = prefix_result;
6140
273k
        }
6141
273k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
273k
        std::ptrdiff_t value_width = 0;
6145
273k
        if (specs.precision != 0) {
6146
280
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
274
            const auto initial_width = specs.precision - prefix_width;
6154
274
            auto max_width_view =
6155
274
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
274
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
273k
        else {
6161
273k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
252k
                                             specs, value, loc));
6163
6164
252k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
252k
        }
6170
6171
        // Read postfix
6172
252k
        std::ptrdiff_t postfix_width = 0;
6173
252k
        if (it != rng.end()) {
6174
250k
            SCN_TRY(postfix_result,
6175
250k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
250k
                                 rd.skip_ws_before_read(), prefix_width,
6177
250k
                                 value_width));
6178
250k
            std::tie(it, postfix_width) = postfix_result;
6179
250k
        }
6180
6181
252k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
252k
                                                 value_width, postfix_width);
6183
252k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
252k
        return it;
6188
252k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
278k
    {
6124
278k
        const bool need_skipped_width =
6125
278k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
278k
        auto it = rng.begin();
6129
278k
        std::ptrdiff_t prefix_width = 0;
6130
278k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
278k
        else {
6138
278k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
276k
            std::tie(it, prefix_width) = prefix_result;
6140
276k
        }
6141
276k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
276k
        std::ptrdiff_t value_width = 0;
6145
276k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
276k
        else {
6161
276k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
255k
                                             specs, value, loc));
6163
6164
255k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
255k
        }
6170
6171
        // Read postfix
6172
255k
        std::ptrdiff_t postfix_width = 0;
6173
255k
        if (it != rng.end()) {
6174
253k
            SCN_TRY(postfix_result,
6175
253k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
253k
                                 rd.skip_ws_before_read(), prefix_width,
6177
253k
                                 value_width));
6178
253k
            std::tie(it, postfix_width) = postfix_result;
6179
253k
        }
6180
6181
255k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
255k
                                                 value_width, postfix_width);
6183
255k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
255k
        return it;
6188
255k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
500
    {
6124
500
        const bool need_skipped_width =
6125
500
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
500
        auto it = rng.begin();
6129
500
        std::ptrdiff_t prefix_width = 0;
6130
500
        if (specs.precision != 0) {
6131
262
            auto max_width_view = take_width(rng, specs.precision);
6132
262
            SCN_TRY(prefix_result,
6133
246
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
246
            it = prefix_result.first.base();
6135
246
            prefix_width = prefix_result.second;
6136
246
        }
6137
238
        else {
6138
238
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
238
            std::tie(it, prefix_width) = prefix_result;
6140
238
        }
6141
484
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
484
        std::ptrdiff_t value_width = 0;
6145
484
        if (specs.precision != 0) {
6146
246
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
242
            const auto initial_width = specs.precision - prefix_width;
6154
242
            auto max_width_view =
6155
242
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
242
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
238
        else {
6161
238
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
766
    {
6124
766
        const bool need_skipped_width =
6125
766
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
766
        auto it = rng.begin();
6129
766
        std::ptrdiff_t prefix_width = 0;
6130
766
        if (specs.precision != 0) {
6131
370
            auto max_width_view = take_width(rng, specs.precision);
6132
370
            SCN_TRY(prefix_result,
6133
342
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
342
            it = prefix_result.first.base();
6135
342
            prefix_width = prefix_result.second;
6136
342
        }
6137
396
        else {
6138
396
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
396
            std::tie(it, prefix_width) = prefix_result;
6140
396
        }
6141
738
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
738
        std::ptrdiff_t value_width = 0;
6145
738
        if (specs.precision != 0) {
6146
342
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
336
            const auto initial_width = specs.precision - prefix_width;
6154
336
            auto max_width_view =
6155
336
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
336
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
396
        else {
6161
396
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
550
    {
6124
550
        const bool need_skipped_width =
6125
550
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
550
        auto it = rng.begin();
6129
550
        std::ptrdiff_t prefix_width = 0;
6130
550
        if (specs.precision != 0) {
6131
294
            auto max_width_view = take_width(rng, specs.precision);
6132
294
            SCN_TRY(prefix_result,
6133
294
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
294
            it = prefix_result.first.base();
6135
294
            prefix_width = prefix_result.second;
6136
294
        }
6137
256
        else {
6138
256
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
256
            std::tie(it, prefix_width) = prefix_result;
6140
256
        }
6141
550
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
550
        std::ptrdiff_t value_width = 0;
6145
550
        if (specs.precision != 0) {
6146
294
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
288
            const auto initial_width = specs.precision - prefix_width;
6154
288
            auto max_width_view =
6155
288
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
288
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
256
            it = w_it.base();
6158
256
            value_width = initial_width - w_it.count();
6159
256
        }
6160
256
        else {
6161
256
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
234
                                             specs, value, loc));
6163
6164
234
            if (need_skipped_width) {
6165
168
                value_width = calculate_text_width(
6166
168
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
168
                        .view());
6168
168
            }
6169
234
        }
6170
6171
        // Read postfix
6172
490
        std::ptrdiff_t postfix_width = 0;
6173
490
        if (it != rng.end()) {
6174
490
            SCN_TRY(postfix_result,
6175
490
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
490
                                 rd.skip_ws_before_read(), prefix_width,
6177
490
                                 value_width));
6178
490
            std::tie(it, postfix_width) = postfix_result;
6179
490
        }
6180
6181
490
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
490
                                                 value_width, postfix_width);
6183
490
            !e) {
6184
148
            return unexpected(e);
6185
148
        }
6186
6187
342
        return it;
6188
490
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
227k
    {
6124
227k
        const bool need_skipped_width =
6125
227k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
227k
        auto it = rng.begin();
6129
227k
        std::ptrdiff_t prefix_width = 0;
6130
227k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
227k
        else {
6138
227k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
223k
            std::tie(it, prefix_width) = prefix_result;
6140
223k
        }
6141
223k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
223k
        std::ptrdiff_t value_width = 0;
6145
223k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
223k
        else {
6161
223k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
205k
                                             specs, value, loc));
6163
6164
205k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
205k
        }
6170
6171
        // Read postfix
6172
205k
        std::ptrdiff_t postfix_width = 0;
6173
205k
        if (it != rng.end()) {
6174
202k
            SCN_TRY(postfix_result,
6175
202k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
202k
                                 rd.skip_ws_before_read(), prefix_width,
6177
202k
                                 value_width));
6178
202k
            std::tie(it, postfix_width) = postfix_result;
6179
202k
        }
6180
6181
205k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
205k
                                                 value_width, postfix_width);
6183
205k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
205k
        return it;
6188
205k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
235k
    {
6124
235k
        const bool need_skipped_width =
6125
235k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
235k
        auto it = rng.begin();
6129
235k
        std::ptrdiff_t prefix_width = 0;
6130
235k
        if (specs.precision != 0) {
6131
300
            auto max_width_view = take_width(rng, specs.precision);
6132
300
            SCN_TRY(prefix_result,
6133
278
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
278
            it = prefix_result.first.base();
6135
278
            prefix_width = prefix_result.second;
6136
278
        }
6137
234k
        else {
6138
234k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
231k
            std::tie(it, prefix_width) = prefix_result;
6140
231k
        }
6141
231k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
231k
        std::ptrdiff_t value_width = 0;
6145
231k
        if (specs.precision != 0) {
6146
278
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
270
            const auto initial_width = specs.precision - prefix_width;
6154
270
            auto max_width_view =
6155
270
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
270
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
231k
        else {
6161
231k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
213k
                                             specs, value, loc));
6163
6164
213k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
213k
        }
6170
6171
        // Read postfix
6172
213k
        std::ptrdiff_t postfix_width = 0;
6173
213k
        if (it != rng.end()) {
6174
209k
            SCN_TRY(postfix_result,
6175
209k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
209k
                                 rd.skip_ws_before_read(), prefix_width,
6177
209k
                                 value_width));
6178
209k
            std::tie(it, postfix_width) = postfix_result;
6179
209k
        }
6180
6181
213k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
213k
                                                 value_width, postfix_width);
6183
213k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
213k
        return it;
6188
213k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
237k
    {
6124
237k
        const bool need_skipped_width =
6125
237k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
237k
        auto it = rng.begin();
6129
237k
        std::ptrdiff_t prefix_width = 0;
6130
237k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
237k
        else {
6138
237k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
233k
            std::tie(it, prefix_width) = prefix_result;
6140
233k
        }
6141
233k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
233k
        std::ptrdiff_t value_width = 0;
6145
233k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
233k
        else {
6161
233k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
215k
                                             specs, value, loc));
6163
6164
215k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
215k
        }
6170
6171
        // Read postfix
6172
215k
        std::ptrdiff_t postfix_width = 0;
6173
215k
        if (it != rng.end()) {
6174
212k
            SCN_TRY(postfix_result,
6175
212k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
212k
                                 rd.skip_ws_before_read(), prefix_width,
6177
212k
                                 value_width));
6178
212k
            std::tie(it, postfix_width) = postfix_result;
6179
212k
        }
6180
6181
215k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
215k
                                                 value_width, postfix_width);
6183
215k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
215k
        return it;
6188
215k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
60.6k
    {
6124
60.6k
        const bool need_skipped_width =
6125
60.6k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
60.6k
        auto it = rng.begin();
6129
60.6k
        std::ptrdiff_t prefix_width = 0;
6130
60.6k
        if (specs.precision != 0) {
6131
698
            auto max_width_view = take_width(rng, specs.precision);
6132
698
            SCN_TRY(prefix_result,
6133
678
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
678
            it = prefix_result.first.base();
6135
678
            prefix_width = prefix_result.second;
6136
678
        }
6137
59.9k
        else {
6138
59.9k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
59.2k
            std::tie(it, prefix_width) = prefix_result;
6140
59.2k
        }
6141
59.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
59.9k
        std::ptrdiff_t value_width = 0;
6145
59.9k
        if (specs.precision != 0) {
6146
678
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
672
            const auto initial_width = specs.precision - prefix_width;
6154
672
            auto max_width_view =
6155
672
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
672
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
366
            it = w_it.base();
6158
366
            value_width = initial_width - w_it.count();
6159
366
        }
6160
59.2k
        else {
6161
59.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
52.5k
                                             specs, value, loc));
6163
6164
52.5k
            if (need_skipped_width) {
6165
214
                value_width = calculate_text_width(
6166
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
214
                        .view());
6168
214
            }
6169
52.5k
        }
6170
6171
        // Read postfix
6172
52.9k
        std::ptrdiff_t postfix_width = 0;
6173
52.9k
        if (it != rng.end()) {
6174
52.0k
            SCN_TRY(postfix_result,
6175
52.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
52.0k
                                 rd.skip_ws_before_read(), prefix_width,
6177
52.0k
                                 value_width));
6178
52.0k
            std::tie(it, postfix_width) = postfix_result;
6179
52.0k
        }
6180
6181
52.9k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
52.9k
                                                 value_width, postfix_width);
6183
52.9k
            !e) {
6184
116
            return unexpected(e);
6185
116
        }
6186
6187
52.8k
        return it;
6188
52.9k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
60.6k
    {
6124
60.6k
        const bool need_skipped_width =
6125
60.6k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
60.6k
        auto it = rng.begin();
6129
60.6k
        std::ptrdiff_t prefix_width = 0;
6130
60.6k
        if (specs.precision != 0) {
6131
698
            auto max_width_view = take_width(rng, specs.precision);
6132
698
            SCN_TRY(prefix_result,
6133
678
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
678
            it = prefix_result.first.base();
6135
678
            prefix_width = prefix_result.second;
6136
678
        }
6137
59.9k
        else {
6138
59.9k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
59.2k
            std::tie(it, prefix_width) = prefix_result;
6140
59.2k
        }
6141
59.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
59.9k
        std::ptrdiff_t value_width = 0;
6145
59.9k
        if (specs.precision != 0) {
6146
678
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
672
            const auto initial_width = specs.precision - prefix_width;
6154
672
            auto max_width_view =
6155
672
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
672
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
366
            it = w_it.base();
6158
366
            value_width = initial_width - w_it.count();
6159
366
        }
6160
59.2k
        else {
6161
59.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
52.5k
                                             specs, value, loc));
6163
6164
52.5k
            if (need_skipped_width) {
6165
214
                value_width = calculate_text_width(
6166
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
214
                        .view());
6168
214
            }
6169
52.5k
        }
6170
6171
        // Read postfix
6172
52.9k
        std::ptrdiff_t postfix_width = 0;
6173
52.9k
        if (it != rng.end()) {
6174
52.0k
            SCN_TRY(postfix_result,
6175
52.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
52.0k
                                 rd.skip_ws_before_read(), prefix_width,
6177
52.0k
                                 value_width));
6178
52.0k
            std::tie(it, postfix_width) = postfix_result;
6179
52.0k
        }
6180
6181
52.9k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
52.9k
                                                 value_width, postfix_width);
6183
52.9k
            !e) {
6184
116
            return unexpected(e);
6185
116
        }
6186
6187
52.8k
        return it;
6188
52.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
5.49k
    {
6124
5.49k
        const bool need_skipped_width =
6125
5.49k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
5.49k
        auto it = rng.begin();
6129
5.49k
        std::ptrdiff_t prefix_width = 0;
6130
5.49k
        if (specs.precision != 0) {
6131
698
            auto max_width_view = take_width(rng, specs.precision);
6132
698
            SCN_TRY(prefix_result,
6133
678
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
678
            it = prefix_result.first.base();
6135
678
            prefix_width = prefix_result.second;
6136
678
        }
6137
4.79k
        else {
6138
4.79k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
4.79k
            std::tie(it, prefix_width) = prefix_result;
6140
4.79k
        }
6141
5.47k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
5.47k
        std::ptrdiff_t value_width = 0;
6145
5.47k
        if (specs.precision != 0) {
6146
678
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
672
            const auto initial_width = specs.precision - prefix_width;
6154
672
            auto max_width_view =
6155
672
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
672
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
366
            it = w_it.base();
6158
366
            value_width = initial_width - w_it.count();
6159
366
        }
6160
4.79k
        else {
6161
4.79k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.28k
                                             specs, value, loc));
6163
6164
1.28k
            if (need_skipped_width) {
6165
214
                value_width = calculate_text_width(
6166
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
214
                        .view());
6168
214
            }
6169
1.28k
        }
6170
6171
        // Read postfix
6172
1.65k
        std::ptrdiff_t postfix_width = 0;
6173
1.65k
        if (it != rng.end()) {
6174
1.25k
            SCN_TRY(postfix_result,
6175
1.25k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.25k
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.25k
                                 value_width));
6178
1.25k
            std::tie(it, postfix_width) = postfix_result;
6179
1.25k
        }
6180
6181
1.65k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.65k
                                                 value_width, postfix_width);
6183
1.65k
            !e) {
6184
116
            return unexpected(e);
6185
116
        }
6186
6187
1.53k
        return it;
6188
1.65k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
460
                                             specs, value, loc));
6163
6164
460
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
460
        }
6170
6171
        // Read postfix
6172
460
        std::ptrdiff_t postfix_width = 0;
6173
460
        if (it != rng.end()) {
6174
292
            SCN_TRY(postfix_result,
6175
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
292
                                 rd.skip_ws_before_read(), prefix_width,
6177
292
                                 value_width));
6178
292
            std::tie(it, postfix_width) = postfix_result;
6179
292
        }
6180
6181
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
460
                                                 value_width, postfix_width);
6183
460
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
460
        return it;
6188
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.7k
    {
6124
47.7k
        const bool need_skipped_width =
6125
47.7k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.7k
        auto it = rng.begin();
6129
47.7k
        std::ptrdiff_t prefix_width = 0;
6130
47.7k
        if (specs.precision != 0) {
6131
136
            auto max_width_view = take_width(rng, specs.precision);
6132
136
            SCN_TRY(prefix_result,
6133
136
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
136
            it = prefix_result.first.base();
6135
136
            prefix_width = prefix_result.second;
6136
136
        }
6137
47.6k
        else {
6138
47.6k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.2k
            std::tie(it, prefix_width) = prefix_result;
6140
47.2k
        }
6141
47.3k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.3k
        std::ptrdiff_t value_width = 0;
6145
47.3k
        if (specs.precision != 0) {
6146
136
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
134
            const auto initial_width = specs.precision - prefix_width;
6154
134
            auto max_width_view =
6155
134
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
134
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.2k
        else {
6161
47.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
546
                                             specs, value, loc));
6163
6164
546
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
546
        }
6170
6171
        // Read postfix
6172
546
        std::ptrdiff_t postfix_width = 0;
6173
546
        if (it != rng.end()) {
6174
366
            SCN_TRY(postfix_result,
6175
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
366
                                 rd.skip_ws_before_read(), prefix_width,
6177
366
                                 value_width));
6178
366
            std::tie(it, postfix_width) = postfix_result;
6179
366
        }
6180
6181
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
546
                                                 value_width, postfix_width);
6183
546
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
546
        return it;
6188
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.3k
    {
6124
47.3k
        const bool need_skipped_width =
6125
47.3k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.3k
        auto it = rng.begin();
6129
47.3k
        std::ptrdiff_t prefix_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.3k
        else {
6138
47.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.0k
            std::tie(it, prefix_width) = prefix_result;
6140
47.0k
        }
6141
47.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.0k
        std::ptrdiff_t value_width = 0;
6145
47.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.0k
        else {
6161
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
654
                                             specs, value, loc));
6163
6164
654
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
654
        }
6170
6171
        // Read postfix
6172
654
        std::ptrdiff_t postfix_width = 0;
6173
654
        if (it != rng.end()) {
6174
474
            SCN_TRY(postfix_result,
6175
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
474
                                 rd.skip_ws_before_read(), prefix_width,
6177
474
                                 value_width));
6178
474
            std::tie(it, postfix_width) = postfix_result;
6179
474
        }
6180
6181
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
654
                                                 value_width, postfix_width);
6183
654
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
654
        return it;
6188
654
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.0k
    {
6124
47.0k
        const bool need_skipped_width =
6125
47.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.0k
        auto it = rng.begin();
6129
47.0k
        std::ptrdiff_t prefix_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.0k
        else {
6138
47.0k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
392
                                             specs, value, loc));
6163
6164
392
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
392
        }
6170
6171
        // Read postfix
6172
392
        std::ptrdiff_t postfix_width = 0;
6173
392
        if (it != rng.end()) {
6174
264
            SCN_TRY(postfix_result,
6175
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
264
                                 rd.skip_ws_before_read(), prefix_width,
6177
264
                                 value_width));
6178
264
            std::tie(it, postfix_width) = postfix_result;
6179
264
        }
6180
6181
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
392
                                                 value_width, postfix_width);
6183
392
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
392
        return it;
6188
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.6k
    {
6124
47.6k
        const bool need_skipped_width =
6125
47.6k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.6k
        auto it = rng.begin();
6129
47.6k
        std::ptrdiff_t prefix_width = 0;
6130
47.6k
        if (specs.precision != 0) {
6131
136
            auto max_width_view = take_width(rng, specs.precision);
6132
136
            SCN_TRY(prefix_result,
6133
136
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
136
            it = prefix_result.first.base();
6135
136
            prefix_width = prefix_result.second;
6136
136
        }
6137
47.4k
        else {
6138
47.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.2k
            std::tie(it, prefix_width) = prefix_result;
6140
47.2k
        }
6141
47.3k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.3k
        std::ptrdiff_t value_width = 0;
6145
47.3k
        if (specs.precision != 0) {
6146
136
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
134
            const auto initial_width = specs.precision - prefix_width;
6154
134
            auto max_width_view =
6155
134
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
134
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.2k
        else {
6161
47.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
438
                                             specs, value, loc));
6163
6164
438
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
438
        }
6170
6171
        // Read postfix
6172
438
        std::ptrdiff_t postfix_width = 0;
6173
438
        if (it != rng.end()) {
6174
310
            SCN_TRY(postfix_result,
6175
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
310
                                 rd.skip_ws_before_read(), prefix_width,
6177
310
                                 value_width));
6178
310
            std::tie(it, postfix_width) = postfix_result;
6179
310
        }
6180
6181
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
438
                                                 value_width, postfix_width);
6183
438
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
438
        return it;
6188
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
532
                                             specs, value, loc));
6163
6164
532
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
532
        }
6170
6171
        // Read postfix
6172
532
        std::ptrdiff_t postfix_width = 0;
6173
532
        if (it != rng.end()) {
6174
404
            SCN_TRY(postfix_result,
6175
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
404
                                 rd.skip_ws_before_read(), prefix_width,
6177
404
                                 value_width));
6178
404
            std::tie(it, postfix_width) = postfix_result;
6179
404
        }
6180
6181
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
532
                                                 value_width, postfix_width);
6183
532
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
532
        return it;
6188
532
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
424
    {
6124
424
        const bool need_skipped_width =
6125
424
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
424
        auto it = rng.begin();
6129
424
        std::ptrdiff_t prefix_width = 0;
6130
424
        if (specs.precision != 0) {
6131
104
            auto max_width_view = take_width(rng, specs.precision);
6132
104
            SCN_TRY(prefix_result,
6133
104
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
104
            it = prefix_result.first.base();
6135
104
            prefix_width = prefix_result.second;
6136
104
        }
6137
320
        else {
6138
320
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
320
            std::tie(it, prefix_width) = prefix_result;
6140
320
        }
6141
424
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
424
        std::ptrdiff_t value_width = 0;
6145
424
        if (specs.precision != 0) {
6146
104
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
102
            const auto initial_width = specs.precision - prefix_width;
6154
102
            auto max_width_view =
6155
102
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
102
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
320
        else {
6161
320
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
574
    {
6124
574
        const bool need_skipped_width =
6125
574
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
574
        auto it = rng.begin();
6129
574
        std::ptrdiff_t prefix_width = 0;
6130
574
        if (specs.precision != 0) {
6131
164
            auto max_width_view = take_width(rng, specs.precision);
6132
164
            SCN_TRY(prefix_result,
6133
164
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
164
            it = prefix_result.first.base();
6135
164
            prefix_width = prefix_result.second;
6136
164
        }
6137
410
        else {
6138
410
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
410
            std::tie(it, prefix_width) = prefix_result;
6140
410
        }
6141
574
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
574
        std::ptrdiff_t value_width = 0;
6145
574
        if (specs.precision != 0) {
6146
164
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
160
            const auto initial_width = specs.precision - prefix_width;
6154
160
            auto max_width_view =
6155
160
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
160
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
410
        else {
6161
410
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
460
    {
6124
460
        const bool need_skipped_width =
6125
460
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
460
        auto it = rng.begin();
6129
460
        std::ptrdiff_t prefix_width = 0;
6130
460
        if (specs.precision != 0) {
6131
122
            auto max_width_view = take_width(rng, specs.precision);
6132
122
            SCN_TRY(prefix_result,
6133
122
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
122
            it = prefix_result.first.base();
6135
122
            prefix_width = prefix_result.second;
6136
122
        }
6137
338
        else {
6138
338
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
338
            std::tie(it, prefix_width) = prefix_result;
6140
338
        }
6141
460
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
460
        std::ptrdiff_t value_width = 0;
6145
460
        if (specs.precision != 0) {
6146
122
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
120
            const auto initial_width = specs.precision - prefix_width;
6154
120
            auto max_width_view =
6155
120
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
120
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
100
            it = w_it.base();
6158
100
            value_width = initial_width - w_it.count();
6159
100
        }
6160
338
        else {
6161
338
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
318
                                             specs, value, loc));
6163
6164
318
            if (need_skipped_width) {
6165
244
                value_width = calculate_text_width(
6166
244
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
244
                        .view());
6168
244
            }
6169
318
        }
6170
6171
        // Read postfix
6172
418
        std::ptrdiff_t postfix_width = 0;
6173
418
        if (it != rng.end()) {
6174
418
            SCN_TRY(postfix_result,
6175
418
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
418
                                 rd.skip_ws_before_read(), prefix_width,
6177
418
                                 value_width));
6178
418
            std::tie(it, postfix_width) = postfix_result;
6179
418
        }
6180
6181
418
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
418
                                                 value_width, postfix_width);
6183
418
            !e) {
6184
242
            return unexpected(e);
6185
242
        }
6186
6187
176
        return it;
6188
418
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
113k
    {
6124
113k
        const bool need_skipped_width =
6125
113k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
113k
        auto it = rng.begin();
6129
113k
        std::ptrdiff_t prefix_width = 0;
6130
113k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
113k
        else {
6138
113k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
112k
            std::tie(it, prefix_width) = prefix_result;
6140
112k
        }
6141
112k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
112k
        std::ptrdiff_t value_width = 0;
6145
112k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
112k
        else {
6161
112k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
70.8k
                                             specs, value, loc));
6163
6164
70.8k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
70.8k
        }
6170
6171
        // Read postfix
6172
70.8k
        std::ptrdiff_t postfix_width = 0;
6173
70.8k
        if (it != rng.end()) {
6174
70.5k
            SCN_TRY(postfix_result,
6175
70.5k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
70.5k
                                 rd.skip_ws_before_read(), prefix_width,
6177
70.5k
                                 value_width));
6178
70.5k
            std::tie(it, postfix_width) = postfix_result;
6179
70.5k
        }
6180
6181
70.8k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
70.8k
                                                 value_width, postfix_width);
6183
70.8k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
70.8k
        return it;
6188
70.8k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
117k
    {
6124
117k
        const bool need_skipped_width =
6125
117k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
117k
        auto it = rng.begin();
6129
117k
        std::ptrdiff_t prefix_width = 0;
6130
117k
        if (specs.precision != 0) {
6131
124
            auto max_width_view = take_width(rng, specs.precision);
6132
124
            SCN_TRY(prefix_result,
6133
124
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
124
            it = prefix_result.first.base();
6135
124
            prefix_width = prefix_result.second;
6136
124
        }
6137
117k
        else {
6138
117k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
116k
            std::tie(it, prefix_width) = prefix_result;
6140
116k
        }
6141
116k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
116k
        std::ptrdiff_t value_width = 0;
6145
116k
        if (specs.precision != 0) {
6146
124
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
120
            const auto initial_width = specs.precision - prefix_width;
6154
120
            auto max_width_view =
6155
120
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
120
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
116k
        else {
6161
116k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
74.2k
                                             specs, value, loc));
6163
6164
74.2k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
74.2k
        }
6170
6171
        // Read postfix
6172
74.2k
        std::ptrdiff_t postfix_width = 0;
6173
74.2k
        if (it != rng.end()) {
6174
73.9k
            SCN_TRY(postfix_result,
6175
73.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
73.9k
                                 rd.skip_ws_before_read(), prefix_width,
6177
73.9k
                                 value_width));
6178
73.9k
            std::tie(it, postfix_width) = postfix_result;
6179
73.9k
        }
6180
6181
74.2k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
74.2k
                                                 value_width, postfix_width);
6183
74.2k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
74.2k
        return it;
6188
74.2k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
118k
    {
6124
118k
        const bool need_skipped_width =
6125
118k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
118k
        auto it = rng.begin();
6129
118k
        std::ptrdiff_t prefix_width = 0;
6130
118k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
118k
        else {
6138
118k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
117k
            std::tie(it, prefix_width) = prefix_result;
6140
117k
        }
6141
117k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
117k
        std::ptrdiff_t value_width = 0;
6145
117k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
117k
        else {
6161
117k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
75.8k
                                             specs, value, loc));
6163
6164
75.8k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
75.8k
        }
6170
6171
        // Read postfix
6172
75.8k
        std::ptrdiff_t postfix_width = 0;
6173
75.8k
        if (it != rng.end()) {
6174
75.5k
            SCN_TRY(postfix_result,
6175
75.5k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
75.5k
                                 rd.skip_ws_before_read(), prefix_width,
6177
75.5k
                                 value_width));
6178
75.5k
            std::tie(it, postfix_width) = postfix_result;
6179
75.5k
        }
6180
6181
75.8k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
75.8k
                                                 value_width, postfix_width);
6183
75.8k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
75.8k
        return it;
6188
75.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
2.55k
    {
6124
2.55k
        const bool need_skipped_width =
6125
2.55k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
2.55k
        auto it = rng.begin();
6129
2.55k
        std::ptrdiff_t prefix_width = 0;
6130
2.55k
        if (specs.precision != 0) {
6131
212
            auto max_width_view = take_width(rng, specs.precision);
6132
212
            SCN_TRY(prefix_result,
6133
212
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
212
            it = prefix_result.first.base();
6135
212
            prefix_width = prefix_result.second;
6136
212
        }
6137
2.34k
        else {
6138
2.34k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
2.34k
            std::tie(it, prefix_width) = prefix_result;
6140
2.34k
        }
6141
2.55k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
2.55k
        std::ptrdiff_t value_width = 0;
6145
2.55k
        if (specs.precision != 0) {
6146
212
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
206
            const auto initial_width = specs.precision - prefix_width;
6154
206
            auto max_width_view =
6155
206
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
206
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
124
            it = w_it.base();
6158
124
            value_width = initial_width - w_it.count();
6159
124
        }
6160
2.34k
        else {
6161
2.34k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
634
                                             specs, value, loc));
6163
6164
634
            if (need_skipped_width) {
6165
314
                value_width = calculate_text_width(
6166
314
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
314
                        .view());
6168
314
            }
6169
634
        }
6170
6171
        // Read postfix
6172
758
        std::ptrdiff_t postfix_width = 0;
6173
758
        if (it != rng.end()) {
6174
472
            SCN_TRY(postfix_result,
6175
472
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
472
                                 rd.skip_ws_before_read(), prefix_width,
6177
472
                                 value_width));
6178
472
            std::tie(it, postfix_width) = postfix_result;
6179
472
        }
6180
6181
758
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
758
                                                 value_width, postfix_width);
6183
758
            !e) {
6184
88
            return unexpected(e);
6185
88
        }
6186
6187
670
        return it;
6188
758
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
293k
    {
6124
293k
        const bool need_skipped_width =
6125
293k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
293k
        auto it = rng.begin();
6129
293k
        std::ptrdiff_t prefix_width = 0;
6130
293k
        if (specs.precision != 0) {
6131
212
            auto max_width_view = take_width(rng, specs.precision);
6132
212
            SCN_TRY(prefix_result,
6133
212
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
212
            it = prefix_result.first.base();
6135
212
            prefix_width = prefix_result.second;
6136
212
        }
6137
293k
        else {
6138
293k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
292k
            std::tie(it, prefix_width) = prefix_result;
6140
292k
        }
6141
292k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
292k
        std::ptrdiff_t value_width = 0;
6145
292k
        if (specs.precision != 0) {
6146
212
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
206
            const auto initial_width = specs.precision - prefix_width;
6154
206
            auto max_width_view =
6155
206
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
206
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
124
            it = w_it.base();
6158
124
            value_width = initial_width - w_it.count();
6159
124
        }
6160
292k
        else {
6161
292k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
284k
                                             specs, value, loc));
6163
6164
284k
            if (need_skipped_width) {
6165
314
                value_width = calculate_text_width(
6166
314
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
314
                        .view());
6168
314
            }
6169
284k
        }
6170
6171
        // Read postfix
6172
284k
        std::ptrdiff_t postfix_width = 0;
6173
284k
        if (it != rng.end()) {
6174
283k
            SCN_TRY(postfix_result,
6175
283k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
283k
                                 rd.skip_ws_before_read(), prefix_width,
6177
283k
                                 value_width));
6178
283k
            std::tie(it, postfix_width) = postfix_result;
6179
283k
        }
6180
6181
284k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
284k
                                                 value_width, postfix_width);
6183
284k
            !e) {
6184
88
            return unexpected(e);
6185
88
        }
6186
6187
284k
        return it;
6188
284k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
293k
    {
6124
293k
        const bool need_skipped_width =
6125
293k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
293k
        auto it = rng.begin();
6129
293k
        std::ptrdiff_t prefix_width = 0;
6130
293k
        if (specs.precision != 0) {
6131
212
            auto max_width_view = take_width(rng, specs.precision);
6132
212
            SCN_TRY(prefix_result,
6133
212
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
212
            it = prefix_result.first.base();
6135
212
            prefix_width = prefix_result.second;
6136
212
        }
6137
293k
        else {
6138
293k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
292k
            std::tie(it, prefix_width) = prefix_result;
6140
292k
        }
6141
292k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
292k
        std::ptrdiff_t value_width = 0;
6145
292k
        if (specs.precision != 0) {
6146
212
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
206
            const auto initial_width = specs.precision - prefix_width;
6154
206
            auto max_width_view =
6155
206
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
206
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
124
            it = w_it.base();
6158
124
            value_width = initial_width - w_it.count();
6159
124
        }
6160
292k
        else {
6161
292k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
284k
                                             specs, value, loc));
6163
6164
284k
            if (need_skipped_width) {
6165
314
                value_width = calculate_text_width(
6166
314
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
314
                        .view());
6168
314
            }
6169
284k
        }
6170
6171
        // Read postfix
6172
284k
        std::ptrdiff_t postfix_width = 0;
6173
284k
        if (it != rng.end()) {
6174
283k
            SCN_TRY(postfix_result,
6175
283k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
283k
                                 rd.skip_ws_before_read(), prefix_width,
6177
283k
                                 value_width));
6178
283k
            std::tie(it, postfix_width) = postfix_result;
6179
283k
        }
6180
6181
284k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
284k
                                                 value_width, postfix_width);
6183
284k
            !e) {
6184
88
            return unexpected(e);
6185
88
        }
6186
6187
284k
        return it;
6188
284k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
6189
6190
    template <typename T>
6191
    scan_expected<iterator> operator()(T& value)
6192
7.30M
    {
6193
7.30M
        if constexpr (!detail::is_type_disabled<T> &&
6194
7.30M
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
3.50M
            auto rd = make_reader<T, char_type>();
6198
3.80M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
55.5k
                return unexpected(e);
6200
55.5k
            }
6201
6202
3.74M
            return impl(rd, range, value);
6203
3.80M
        }
6204
3.50M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
3.50M
            auto rd = make_reader<T, char_type>();
6206
3.50M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.80k
                return unexpected(e);
6208
5.80k
            }
6209
6210
3.49M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
3.49M
                specs.width != 0) {
6212
3.49M
                return impl(rd, range, value);
6213
3.49M
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
7.30M
        else {
6221
7.30M
            SCN_EXPECT(false);
6222
7.30M
            SCN_UNREACHABLE;
6223
7.30M
        }
6224
7.30M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
248k
    {
6193
248k
        if constexpr (!detail::is_type_disabled<T> &&
6194
248k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
248k
            auto rd = make_reader<T, char_type>();
6198
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
248k
                return unexpected(e);
6200
248k
            }
6201
6202
248k
            return impl(rd, range, value);
6203
248k
        }
6204
248k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
248k
            auto rd = make_reader<T, char_type>();
6206
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
248k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
248k
                specs.width != 0) {
6212
248k
                return impl(rd, range, value);
6213
248k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
248k
        else {
6221
248k
            SCN_EXPECT(false);
6222
248k
            SCN_UNREACHABLE;
6223
248k
        }
6224
248k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
322k
    {
6193
322k
        if constexpr (!detail::is_type_disabled<T> &&
6194
322k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
322k
            auto rd = make_reader<T, char_type>();
6198
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
322k
                return unexpected(e);
6200
322k
            }
6201
6202
322k
            return impl(rd, range, value);
6203
322k
        }
6204
322k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
322k
            auto rd = make_reader<T, char_type>();
6206
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
322k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
322k
                specs.width != 0) {
6212
322k
                return impl(rd, range, value);
6213
322k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
322k
        else {
6221
322k
            SCN_EXPECT(false);
6222
322k
            SCN_UNREACHABLE;
6223
322k
        }
6224
322k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6192
328k
    {
6193
328k
        if constexpr (!detail::is_type_disabled<T> &&
6194
328k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
328k
            auto rd = make_reader<T, char_type>();
6198
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
328k
                return unexpected(e);
6200
328k
            }
6201
6202
328k
            return impl(rd, range, value);
6203
328k
        }
6204
328k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
328k
            auto rd = make_reader<T, char_type>();
6206
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
328k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
328k
                specs.width != 0) {
6212
328k
                return impl(rd, range, value);
6213
328k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
328k
        else {
6221
328k
            SCN_EXPECT(false);
6222
328k
            SCN_UNREACHABLE;
6223
328k
        }
6224
328k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
243k
    {
6193
243k
        if constexpr (!detail::is_type_disabled<T> &&
6194
243k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
243k
            auto rd = make_reader<T, char_type>();
6198
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
243k
                return unexpected(e);
6200
243k
            }
6201
6202
243k
            return impl(rd, range, value);
6203
243k
        }
6204
243k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
243k
            auto rd = make_reader<T, char_type>();
6206
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
243k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
243k
                specs.width != 0) {
6212
243k
                return impl(rd, range, value);
6213
243k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
243k
        else {
6221
243k
            SCN_EXPECT(false);
6222
243k
            SCN_UNREACHABLE;
6223
243k
        }
6224
243k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
277k
    {
6193
277k
        if constexpr (!detail::is_type_disabled<T> &&
6194
277k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
277k
            auto rd = make_reader<T, char_type>();
6198
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
277k
                return unexpected(e);
6200
277k
            }
6201
6202
277k
            return impl(rd, range, value);
6203
277k
        }
6204
277k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
277k
            auto rd = make_reader<T, char_type>();
6206
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
277k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
277k
                specs.width != 0) {
6212
277k
                return impl(rd, range, value);
6213
277k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
277k
        else {
6221
277k
            SCN_EXPECT(false);
6222
277k
            SCN_UNREACHABLE;
6223
277k
        }
6224
277k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
280k
    {
6193
280k
        if constexpr (!detail::is_type_disabled<T> &&
6194
280k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
280k
            auto rd = make_reader<T, char_type>();
6198
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
280k
                return unexpected(e);
6200
280k
            }
6201
6202
280k
            return impl(rd, range, value);
6203
280k
        }
6204
280k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
280k
            auto rd = make_reader<T, char_type>();
6206
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
280k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
280k
                specs.width != 0) {
6212
280k
                return impl(rd, range, value);
6213
280k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
280k
        else {
6221
280k
            SCN_EXPECT(false);
6222
280k
            SCN_UNREACHABLE;
6223
280k
        }
6224
280k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6192
262k
    {
6193
262k
        if constexpr (!detail::is_type_disabled<T> &&
6194
262k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
262k
            auto rd = make_reader<T, char_type>();
6198
262k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
262k
                return unexpected(e);
6200
262k
            }
6201
6202
262k
            return impl(rd, range, value);
6203
262k
        }
6204
262k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
262k
            auto rd = make_reader<T, char_type>();
6206
262k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
262k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
262k
                specs.width != 0) {
6212
262k
                return impl(rd, range, value);
6213
262k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
262k
        else {
6221
262k
            SCN_EXPECT(false);
6222
262k
            SCN_UNREACHABLE;
6223
262k
        }
6224
262k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
272k
    {
6193
272k
        if constexpr (!detail::is_type_disabled<T> &&
6194
272k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
272k
            auto rd = make_reader<T, char_type>();
6198
272k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
272k
                return unexpected(e);
6200
272k
            }
6201
6202
272k
            return impl(rd, range, value);
6203
272k
        }
6204
272k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
272k
            auto rd = make_reader<T, char_type>();
6206
272k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
272k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
272k
                specs.width != 0) {
6212
272k
                return impl(rd, range, value);
6213
272k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
272k
        else {
6221
272k
            SCN_EXPECT(false);
6222
272k
            SCN_UNREACHABLE;
6223
272k
        }
6224
272k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6192
275k
    {
6193
275k
        if constexpr (!detail::is_type_disabled<T> &&
6194
275k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
275k
            auto rd = make_reader<T, char_type>();
6198
275k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
275k
                return unexpected(e);
6200
275k
            }
6201
6202
275k
            return impl(rd, range, value);
6203
275k
        }
6204
275k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
275k
            auto rd = make_reader<T, char_type>();
6206
275k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
275k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
275k
                specs.width != 0) {
6212
275k
                return impl(rd, range, value);
6213
275k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
275k
        else {
6221
275k
            SCN_EXPECT(false);
6222
275k
            SCN_UNREACHABLE;
6223
275k
        }
6224
275k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
65.5k
    {
6193
65.5k
        if constexpr (!detail::is_type_disabled<T> &&
6194
65.5k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
65.5k
            auto rd = make_reader<T, char_type>();
6198
65.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
65.5k
                return unexpected(e);
6200
65.5k
            }
6201
6202
65.5k
            return impl(rd, range, value);
6203
65.5k
        }
6204
65.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
65.5k
            auto rd = make_reader<T, char_type>();
6206
65.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.93k
                return unexpected(e);
6208
1.93k
            }
6209
6210
63.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
63.5k
                specs.width != 0) {
6212
63.5k
                return impl(rd, range, value);
6213
63.5k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
65.5k
        else {
6221
65.5k
            SCN_EXPECT(false);
6222
65.5k
            SCN_UNREACHABLE;
6223
65.5k
        }
6224
65.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.1k
                return unexpected(e);
6200
47.1k
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.2k
                return unexpected(e);
6200
47.2k
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6192
47.3k
    {
6193
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.3k
            auto rd = make_reader<T, char_type>();
6198
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.3k
                return unexpected(e);
6200
47.3k
            }
6201
6202
47.3k
            return impl(rd, range, value);
6203
47.3k
        }
6204
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.3k
            auto rd = make_reader<T, char_type>();
6206
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.3k
                specs.width != 0) {
6212
47.3k
                return impl(rd, range, value);
6213
47.3k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.3k
        else {
6221
47.3k
            SCN_EXPECT(false);
6222
47.3k
            SCN_UNREACHABLE;
6223
47.3k
        }
6224
47.3k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
47.0k
    {
6193
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.0k
            auto rd = make_reader<T, char_type>();
6198
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.0k
                return unexpected(e);
6200
47.0k
            }
6201
6202
47.0k
            return impl(rd, range, value);
6203
47.0k
        }
6204
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.0k
            auto rd = make_reader<T, char_type>();
6206
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.0k
                specs.width != 0) {
6212
47.0k
                return impl(rd, range, value);
6213
47.0k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.0k
        else {
6221
47.0k
            SCN_EXPECT(false);
6222
47.0k
            SCN_UNREACHABLE;
6223
47.0k
        }
6224
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.1k
                return unexpected(e);
6200
47.1k
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.2k
                return unexpected(e);
6200
47.2k
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6192
113k
    {
6193
113k
        if constexpr (!detail::is_type_disabled<T> &&
6194
113k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
113k
            auto rd = make_reader<T, char_type>();
6198
113k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
113k
                return unexpected(e);
6200
113k
            }
6201
6202
113k
            return impl(rd, range, value);
6203
113k
        }
6204
113k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
113k
            auto rd = make_reader<T, char_type>();
6206
113k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
113k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
113k
                specs.width != 0) {
6212
113k
                return impl(rd, range, value);
6213
113k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
113k
        else {
6221
113k
            SCN_EXPECT(false);
6222
113k
            SCN_UNREACHABLE;
6223
113k
        }
6224
113k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
116k
    {
6193
116k
        if constexpr (!detail::is_type_disabled<T> &&
6194
116k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
116k
            auto rd = make_reader<T, char_type>();
6198
116k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
116k
                return unexpected(e);
6200
116k
            }
6201
6202
116k
            return impl(rd, range, value);
6203
116k
        }
6204
116k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
116k
            auto rd = make_reader<T, char_type>();
6206
116k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
116k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
116k
                specs.width != 0) {
6212
116k
                return impl(rd, range, value);
6213
116k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
116k
        else {
6221
116k
            SCN_EXPECT(false);
6222
116k
            SCN_UNREACHABLE;
6223
116k
        }
6224
116k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6192
118k
    {
6193
118k
        if constexpr (!detail::is_type_disabled<T> &&
6194
118k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
118k
            auto rd = make_reader<T, char_type>();
6198
118k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
118k
                return unexpected(e);
6200
118k
            }
6201
6202
118k
            return impl(rd, range, value);
6203
118k
        }
6204
118k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
118k
            auto rd = make_reader<T, char_type>();
6206
118k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
118k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
118k
                specs.width != 0) {
6212
118k
                return impl(rd, range, value);
6213
118k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
118k
        else {
6221
118k
            SCN_EXPECT(false);
6222
118k
            SCN_UNREACHABLE;
6223
118k
        }
6224
118k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
295k
    {
6193
295k
        if constexpr (!detail::is_type_disabled<T> &&
6194
295k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
295k
            auto rd = make_reader<T, char_type>();
6198
295k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
295k
                return unexpected(e);
6200
295k
            }
6201
6202
295k
            return impl(rd, range, value);
6203
295k
        }
6204
295k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
295k
            auto rd = make_reader<T, char_type>();
6206
295k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
3.86k
                return unexpected(e);
6208
3.86k
            }
6209
6210
291k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
291k
                specs.width != 0) {
6212
291k
                return impl(rd, range, value);
6213
291k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
295k
        else {
6221
295k
            SCN_EXPECT(false);
6222
295k
            SCN_UNREACHABLE;
6223
295k
        }
6224
295k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
247k
    {
6193
247k
        if constexpr (!detail::is_type_disabled<T> &&
6194
247k
                      std::is_same_v<
6195
0
                          context_type,
6196
247k
                          basic_contiguous_scan_context<char_type>>) {
6197
247k
            auto rd = make_reader<T, char_type>();
6198
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
247k
            return impl(rd, range, value);
6203
247k
        }
6204
247k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
247k
            auto rd = make_reader<T, char_type>();
6206
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
247k
                return unexpected(e);
6208
247k
            }
6209
6210
247k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
247k
                specs.width != 0) {
6212
247k
                return impl(rd, range, value);
6213
247k
            }
6214
6215
247k
            auto crange = get_as_contiguous(range);
6216
247k
            SCN_TRY(it, impl(rd, crange, value));
6217
247k
            return ranges::next(range.begin(),
6218
247k
                                ranges::distance(crange.begin(), it));
6219
247k
        }
6220
247k
        else {
6221
247k
            SCN_EXPECT(false);
6222
247k
            SCN_UNREACHABLE;
6223
247k
        }
6224
247k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
326k
    {
6193
326k
        if constexpr (!detail::is_type_disabled<T> &&
6194
326k
                      std::is_same_v<
6195
0
                          context_type,
6196
326k
                          basic_contiguous_scan_context<char_type>>) {
6197
326k
            auto rd = make_reader<T, char_type>();
6198
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
5.08k
                return unexpected(e);
6200
5.08k
            }
6201
6202
321k
            return impl(rd, range, value);
6203
326k
        }
6204
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
326k
            auto rd = make_reader<T, char_type>();
6206
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
326k
                return unexpected(e);
6208
326k
            }
6209
6210
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
326k
                specs.width != 0) {
6212
326k
                return impl(rd, range, value);
6213
326k
            }
6214
6215
326k
            auto crange = get_as_contiguous(range);
6216
326k
            SCN_TRY(it, impl(rd, crange, value));
6217
326k
            return ranges::next(range.begin(),
6218
326k
                                ranges::distance(crange.begin(), it));
6219
326k
        }
6220
326k
        else {
6221
326k
            SCN_EXPECT(false);
6222
326k
            SCN_UNREACHABLE;
6223
326k
        }
6224
326k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6192
326k
    {
6193
326k
        if constexpr (!detail::is_type_disabled<T> &&
6194
326k
                      std::is_same_v<
6195
0
                          context_type,
6196
326k
                          basic_contiguous_scan_context<char_type>>) {
6197
326k
            auto rd = make_reader<T, char_type>();
6198
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
326k
            return impl(rd, range, value);
6203
326k
        }
6204
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
326k
            auto rd = make_reader<T, char_type>();
6206
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
326k
                return unexpected(e);
6208
326k
            }
6209
6210
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
326k
                specs.width != 0) {
6212
326k
                return impl(rd, range, value);
6213
326k
            }
6214
6215
326k
            auto crange = get_as_contiguous(range);
6216
326k
            SCN_TRY(it, impl(rd, crange, value));
6217
326k
            return ranges::next(range.begin(),
6218
326k
                                ranges::distance(crange.begin(), it));
6219
326k
        }
6220
326k
        else {
6221
326k
            SCN_EXPECT(false);
6222
326k
            SCN_UNREACHABLE;
6223
326k
        }
6224
326k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
242k
    {
6193
242k
        if constexpr (!detail::is_type_disabled<T> &&
6194
242k
                      std::is_same_v<
6195
0
                          context_type,
6196
242k
                          basic_contiguous_scan_context<char_type>>) {
6197
242k
            auto rd = make_reader<T, char_type>();
6198
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
242k
            return impl(rd, range, value);
6203
242k
        }
6204
242k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
242k
            auto rd = make_reader<T, char_type>();
6206
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
242k
                return unexpected(e);
6208
242k
            }
6209
6210
242k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
242k
                specs.width != 0) {
6212
242k
                return impl(rd, range, value);
6213
242k
            }
6214
6215
242k
            auto crange = get_as_contiguous(range);
6216
242k
            SCN_TRY(it, impl(rd, crange, value));
6217
242k
            return ranges::next(range.begin(),
6218
242k
                                ranges::distance(crange.begin(), it));
6219
242k
        }
6220
242k
        else {
6221
242k
            SCN_EXPECT(false);
6222
242k
            SCN_UNREACHABLE;
6223
242k
        }
6224
242k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
281k
    {
6193
281k
        if constexpr (!detail::is_type_disabled<T> &&
6194
281k
                      std::is_same_v<
6195
0
                          context_type,
6196
281k
                          basic_contiguous_scan_context<char_type>>) {
6197
281k
            auto rd = make_reader<T, char_type>();
6198
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
5.08k
                return unexpected(e);
6200
5.08k
            }
6201
6202
276k
            return impl(rd, range, value);
6203
281k
        }
6204
281k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
281k
            auto rd = make_reader<T, char_type>();
6206
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
281k
                return unexpected(e);
6208
281k
            }
6209
6210
281k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
281k
                specs.width != 0) {
6212
281k
                return impl(rd, range, value);
6213
281k
            }
6214
6215
281k
            auto crange = get_as_contiguous(range);
6216
281k
            SCN_TRY(it, impl(rd, crange, value));
6217
281k
            return ranges::next(range.begin(),
6218
281k
                                ranges::distance(crange.begin(), it));
6219
281k
        }
6220
281k
        else {
6221
281k
            SCN_EXPECT(false);
6222
281k
            SCN_UNREACHABLE;
6223
281k
        }
6224
281k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
278k
    {
6193
278k
        if constexpr (!detail::is_type_disabled<T> &&
6194
278k
                      std::is_same_v<
6195
0
                          context_type,
6196
278k
                          basic_contiguous_scan_context<char_type>>) {
6197
278k
            auto rd = make_reader<T, char_type>();
6198
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
278k
            return impl(rd, range, value);
6203
278k
        }
6204
278k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
278k
            auto rd = make_reader<T, char_type>();
6206
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
278k
                return unexpected(e);
6208
278k
            }
6209
6210
278k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
278k
                specs.width != 0) {
6212
278k
                return impl(rd, range, value);
6213
278k
            }
6214
6215
278k
            auto crange = get_as_contiguous(range);
6216
278k
            SCN_TRY(it, impl(rd, crange, value));
6217
278k
            return ranges::next(range.begin(),
6218
278k
                                ranges::distance(crange.begin(), it));
6219
278k
        }
6220
278k
        else {
6221
278k
            SCN_EXPECT(false);
6222
278k
            SCN_UNREACHABLE;
6223
278k
        }
6224
278k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
6192
5.62k
    {
6193
5.62k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.62k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.62k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.62k
            auto rd = make_reader<T, char_type>();
6198
5.62k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
5.12k
                return unexpected(e);
6200
5.12k
            }
6201
6202
500
            return impl(rd, range, value);
6203
5.62k
        }
6204
5.62k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.62k
            auto rd = make_reader<T, char_type>();
6206
5.62k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.62k
                return unexpected(e);
6208
5.62k
            }
6209
6210
5.62k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.62k
                specs.width != 0) {
6212
5.62k
                return impl(rd, range, value);
6213
5.62k
            }
6214
6215
5.62k
            auto crange = get_as_contiguous(range);
6216
5.62k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.62k
            return ranges::next(range.begin(),
6218
5.62k
                                ranges::distance(crange.begin(), it));
6219
5.62k
        }
6220
5.62k
        else {
6221
5.62k
            SCN_EXPECT(false);
6222
5.62k
            SCN_UNREACHABLE;
6223
5.62k
        }
6224
5.62k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
6192
5.66k
    {
6193
5.66k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.66k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.66k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.66k
            auto rd = make_reader<T, char_type>();
6198
5.66k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.89k
                return unexpected(e);
6200
4.89k
            }
6201
6202
766
            return impl(rd, range, value);
6203
5.66k
        }
6204
5.66k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.66k
            auto rd = make_reader<T, char_type>();
6206
5.66k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.66k
                return unexpected(e);
6208
5.66k
            }
6209
6210
5.66k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.66k
                specs.width != 0) {
6212
5.66k
                return impl(rd, range, value);
6213
5.66k
            }
6214
6215
5.66k
            auto crange = get_as_contiguous(range);
6216
5.66k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.66k
            return ranges::next(range.begin(),
6218
5.66k
                                ranges::distance(crange.begin(), it));
6219
5.66k
        }
6220
5.66k
        else {
6221
5.66k
            SCN_EXPECT(false);
6222
5.66k
            SCN_UNREACHABLE;
6223
5.66k
        }
6224
5.66k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
6192
5.62k
    {
6193
5.62k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.62k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.62k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.62k
            auto rd = make_reader<T, char_type>();
6198
5.62k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
5.07k
                return unexpected(e);
6200
5.07k
            }
6201
6202
550
            return impl(rd, range, value);
6203
5.62k
        }
6204
5.62k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.62k
            auto rd = make_reader<T, char_type>();
6206
5.62k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.62k
                return unexpected(e);
6208
5.62k
            }
6209
6210
5.62k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.62k
                specs.width != 0) {
6212
5.62k
                return impl(rd, range, value);
6213
5.62k
            }
6214
6215
5.62k
            auto crange = get_as_contiguous(range);
6216
5.62k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.62k
            return ranges::next(range.begin(),
6218
5.62k
                                ranges::distance(crange.begin(), it));
6219
5.62k
        }
6220
5.62k
        else {
6221
5.62k
            SCN_EXPECT(false);
6222
5.62k
            SCN_UNREACHABLE;
6223
5.62k
        }
6224
5.62k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6192
227k
    {
6193
227k
        if constexpr (!detail::is_type_disabled<T> &&
6194
227k
                      std::is_same_v<
6195
0
                          context_type,
6196
227k
                          basic_contiguous_scan_context<char_type>>) {
6197
227k
            auto rd = make_reader<T, char_type>();
6198
227k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
227k
            return impl(rd, range, value);
6203
227k
        }
6204
227k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
227k
            auto rd = make_reader<T, char_type>();
6206
227k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
227k
                return unexpected(e);
6208
227k
            }
6209
6210
227k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
227k
                specs.width != 0) {
6212
227k
                return impl(rd, range, value);
6213
227k
            }
6214
6215
227k
            auto crange = get_as_contiguous(range);
6216
227k
            SCN_TRY(it, impl(rd, crange, value));
6217
227k
            return ranges::next(range.begin(),
6218
227k
                                ranges::distance(crange.begin(), it));
6219
227k
        }
6220
227k
        else {
6221
227k
            SCN_EXPECT(false);
6222
227k
            SCN_UNREACHABLE;
6223
227k
        }
6224
227k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
240k
    {
6193
240k
        if constexpr (!detail::is_type_disabled<T> &&
6194
240k
                      std::is_same_v<
6195
0
                          context_type,
6196
240k
                          basic_contiguous_scan_context<char_type>>) {
6197
240k
            auto rd = make_reader<T, char_type>();
6198
240k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
5.08k
                return unexpected(e);
6200
5.08k
            }
6201
6202
235k
            return impl(rd, range, value);
6203
240k
        }
6204
240k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
240k
            auto rd = make_reader<T, char_type>();
6206
240k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
240k
                return unexpected(e);
6208
240k
            }
6209
6210
240k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
240k
                specs.width != 0) {
6212
240k
                return impl(rd, range, value);
6213
240k
            }
6214
6215
240k
            auto crange = get_as_contiguous(range);
6216
240k
            SCN_TRY(it, impl(rd, crange, value));
6217
240k
            return ranges::next(range.begin(),
6218
240k
                                ranges::distance(crange.begin(), it));
6219
240k
        }
6220
240k
        else {
6221
240k
            SCN_EXPECT(false);
6222
240k
            SCN_UNREACHABLE;
6223
240k
        }
6224
240k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6192
237k
    {
6193
237k
        if constexpr (!detail::is_type_disabled<T> &&
6194
237k
                      std::is_same_v<
6195
0
                          context_type,
6196
237k
                          basic_contiguous_scan_context<char_type>>) {
6197
237k
            auto rd = make_reader<T, char_type>();
6198
237k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
237k
            return impl(rd, range, value);
6203
237k
        }
6204
237k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
237k
            auto rd = make_reader<T, char_type>();
6206
237k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
237k
                return unexpected(e);
6208
237k
            }
6209
6210
237k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
237k
                specs.width != 0) {
6212
237k
                return impl(rd, range, value);
6213
237k
            }
6214
6215
237k
            auto crange = get_as_contiguous(range);
6216
237k
            SCN_TRY(it, impl(rd, crange, value));
6217
237k
            return ranges::next(range.begin(),
6218
237k
                                ranges::distance(crange.begin(), it));
6219
237k
        }
6220
237k
        else {
6221
237k
            SCN_EXPECT(false);
6222
237k
            SCN_UNREACHABLE;
6223
237k
        }
6224
237k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6192
62.7k
    {
6193
62.7k
        if constexpr (!detail::is_type_disabled<T> &&
6194
62.7k
                      std::is_same_v<
6195
0
                          context_type,
6196
62.7k
                          basic_contiguous_scan_context<char_type>>) {
6197
62.7k
            auto rd = make_reader<T, char_type>();
6198
62.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.06k
                return unexpected(e);
6200
2.06k
            }
6201
6202
60.6k
            return impl(rd, range, value);
6203
62.7k
        }
6204
62.7k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
62.7k
            auto rd = make_reader<T, char_type>();
6206
62.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
62.7k
                return unexpected(e);
6208
62.7k
            }
6209
6210
62.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
62.7k
                specs.width != 0) {
6212
62.7k
                return impl(rd, range, value);
6213
62.7k
            }
6214
6215
62.7k
            auto crange = get_as_contiguous(range);
6216
62.7k
            SCN_TRY(it, impl(rd, crange, value));
6217
62.7k
            return ranges::next(range.begin(),
6218
62.7k
                                ranges::distance(crange.begin(), it));
6219
62.7k
        }
6220
62.7k
        else {
6221
62.7k
            SCN_EXPECT(false);
6222
62.7k
            SCN_UNREACHABLE;
6223
62.7k
        }
6224
62.7k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
62.7k
    {
6193
62.7k
        if constexpr (!detail::is_type_disabled<T> &&
6194
62.7k
                      std::is_same_v<
6195
0
                          context_type,
6196
62.7k
                          basic_contiguous_scan_context<char_type>>) {
6197
62.7k
            auto rd = make_reader<T, char_type>();
6198
62.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.06k
                return unexpected(e);
6200
2.06k
            }
6201
6202
60.6k
            return impl(rd, range, value);
6203
62.7k
        }
6204
62.7k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
62.7k
            auto rd = make_reader<T, char_type>();
6206
62.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
62.7k
                return unexpected(e);
6208
62.7k
            }
6209
6210
62.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
62.7k
                specs.width != 0) {
6212
62.7k
                return impl(rd, range, value);
6213
62.7k
            }
6214
6215
62.7k
            auto crange = get_as_contiguous(range);
6216
62.7k
            SCN_TRY(it, impl(rd, crange, value));
6217
62.7k
            return ranges::next(range.begin(),
6218
62.7k
                                ranges::distance(crange.begin(), it));
6219
62.7k
        }
6220
62.7k
        else {
6221
62.7k
            SCN_EXPECT(false);
6222
62.7k
            SCN_UNREACHABLE;
6223
62.7k
        }
6224
62.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
5.62k
    {
6193
5.62k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.62k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.62k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.62k
            auto rd = make_reader<T, char_type>();
6198
5.62k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
126
                return unexpected(e);
6200
126
            }
6201
6202
5.49k
            return impl(rd, range, value);
6203
5.62k
        }
6204
5.62k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.62k
            auto rd = make_reader<T, char_type>();
6206
5.62k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.62k
                return unexpected(e);
6208
5.62k
            }
6209
6210
5.62k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.62k
                specs.width != 0) {
6212
5.62k
                return impl(rd, range, value);
6213
5.62k
            }
6214
6215
5.62k
            auto crange = get_as_contiguous(range);
6216
5.62k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.62k
            return ranges::next(range.begin(),
6218
5.62k
                                ranges::distance(crange.begin(), it));
6219
5.62k
        }
6220
5.62k
        else {
6221
5.62k
            SCN_EXPECT(false);
6222
5.62k
            SCN_UNREACHABLE;
6223
5.62k
        }
6224
5.62k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.1k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.1k
                return unexpected(e);
6208
47.1k
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
47.1k
            auto crange = get_as_contiguous(range);
6216
47.1k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.1k
            return ranges::next(range.begin(),
6218
47.1k
                                ranges::distance(crange.begin(), it));
6219
47.1k
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
49.9k
    {
6193
49.9k
        if constexpr (!detail::is_type_disabled<T> &&
6194
49.9k
                      std::is_same_v<
6195
0
                          context_type,
6196
49.9k
                          basic_contiguous_scan_context<char_type>>) {
6197
49.9k
            auto rd = make_reader<T, char_type>();
6198
49.9k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.17k
                return unexpected(e);
6200
2.17k
            }
6201
6202
47.7k
            return impl(rd, range, value);
6203
49.9k
        }
6204
49.9k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
49.9k
            auto rd = make_reader<T, char_type>();
6206
49.9k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
49.9k
                return unexpected(e);
6208
49.9k
            }
6209
6210
49.9k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
49.9k
                specs.width != 0) {
6212
49.9k
                return impl(rd, range, value);
6213
49.9k
            }
6214
6215
49.9k
            auto crange = get_as_contiguous(range);
6216
49.9k
            SCN_TRY(it, impl(rd, crange, value));
6217
49.9k
            return ranges::next(range.begin(),
6218
49.9k
                                ranges::distance(crange.begin(), it));
6219
49.9k
        }
6220
49.9k
        else {
6221
49.9k
            SCN_EXPECT(false);
6222
49.9k
            SCN_UNREACHABLE;
6223
49.9k
        }
6224
49.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6192
47.3k
    {
6193
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.3k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.3k
            auto rd = make_reader<T, char_type>();
6198
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.3k
            return impl(rd, range, value);
6203
47.3k
        }
6204
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.3k
            auto rd = make_reader<T, char_type>();
6206
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.3k
                return unexpected(e);
6208
47.3k
            }
6209
6210
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.3k
                specs.width != 0) {
6212
47.3k
                return impl(rd, range, value);
6213
47.3k
            }
6214
6215
47.3k
            auto crange = get_as_contiguous(range);
6216
47.3k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.3k
            return ranges::next(range.begin(),
6218
47.3k
                                ranges::distance(crange.begin(), it));
6219
47.3k
        }
6220
47.3k
        else {
6221
47.3k
            SCN_EXPECT(false);
6222
47.3k
            SCN_UNREACHABLE;
6223
47.3k
        }
6224
47.3k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
47.0k
    {
6193
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.0k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.0k
            auto rd = make_reader<T, char_type>();
6198
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.0k
            return impl(rd, range, value);
6203
47.0k
        }
6204
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.0k
            auto rd = make_reader<T, char_type>();
6206
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.0k
                return unexpected(e);
6208
47.0k
            }
6209
6210
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.0k
                specs.width != 0) {
6212
47.0k
                return impl(rd, range, value);
6213
47.0k
            }
6214
6215
47.0k
            auto crange = get_as_contiguous(range);
6216
47.0k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.0k
            return ranges::next(range.begin(),
6218
47.0k
                                ranges::distance(crange.begin(), it));
6219
47.0k
        }
6220
47.0k
        else {
6221
47.0k
            SCN_EXPECT(false);
6222
47.0k
            SCN_UNREACHABLE;
6223
47.0k
        }
6224
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
49.8k
    {
6193
49.8k
        if constexpr (!detail::is_type_disabled<T> &&
6194
49.8k
                      std::is_same_v<
6195
0
                          context_type,
6196
49.8k
                          basic_contiguous_scan_context<char_type>>) {
6197
49.8k
            auto rd = make_reader<T, char_type>();
6198
49.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.17k
                return unexpected(e);
6200
2.17k
            }
6201
6202
47.6k
            return impl(rd, range, value);
6203
49.8k
        }
6204
49.8k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
49.8k
            auto rd = make_reader<T, char_type>();
6206
49.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
49.8k
                return unexpected(e);
6208
49.8k
            }
6209
6210
49.8k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
49.8k
                specs.width != 0) {
6212
49.8k
                return impl(rd, range, value);
6213
49.8k
            }
6214
6215
49.8k
            auto crange = get_as_contiguous(range);
6216
49.8k
            SCN_TRY(it, impl(rd, crange, value));
6217
49.8k
            return ranges::next(range.begin(),
6218
49.8k
                                ranges::distance(crange.begin(), it));
6219
49.8k
        }
6220
49.8k
        else {
6221
49.8k
            SCN_EXPECT(false);
6222
49.8k
            SCN_UNREACHABLE;
6223
49.8k
        }
6224
49.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.2k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.2k
                return unexpected(e);
6208
47.2k
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
47.2k
            auto crange = get_as_contiguous(range);
6216
47.2k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.2k
            return ranges::next(range.begin(),
6218
47.2k
                                ranges::distance(crange.begin(), it));
6219
47.2k
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6192
2.63k
    {
6193
2.63k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.63k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.63k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.63k
            auto rd = make_reader<T, char_type>();
6198
2.63k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.20k
                return unexpected(e);
6200
2.20k
            }
6201
6202
424
            return impl(rd, range, value);
6203
2.63k
        }
6204
2.63k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.63k
            auto rd = make_reader<T, char_type>();
6206
2.63k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.63k
                return unexpected(e);
6208
2.63k
            }
6209
6210
2.63k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.63k
                specs.width != 0) {
6212
2.63k
                return impl(rd, range, value);
6213
2.63k
            }
6214
6215
2.63k
            auto crange = get_as_contiguous(range);
6216
2.63k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.63k
            return ranges::next(range.begin(),
6218
2.63k
                                ranges::distance(crange.begin(), it));
6219
2.63k
        }
6220
2.63k
        else {
6221
2.63k
            SCN_EXPECT(false);
6222
2.63k
            SCN_UNREACHABLE;
6223
2.63k
        }
6224
2.63k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6192
2.66k
    {
6193
2.66k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.66k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.66k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.66k
            auto rd = make_reader<T, char_type>();
6198
2.66k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.09k
                return unexpected(e);
6200
2.09k
            }
6201
6202
574
            return impl(rd, range, value);
6203
2.66k
        }
6204
2.66k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.66k
            auto rd = make_reader<T, char_type>();
6206
2.66k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.66k
                return unexpected(e);
6208
2.66k
            }
6209
6210
2.66k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.66k
                specs.width != 0) {
6212
2.66k
                return impl(rd, range, value);
6213
2.66k
            }
6214
6215
2.66k
            auto crange = get_as_contiguous(range);
6216
2.66k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.66k
            return ranges::next(range.begin(),
6218
2.66k
                                ranges::distance(crange.begin(), it));
6219
2.66k
        }
6220
2.66k
        else {
6221
2.66k
            SCN_EXPECT(false);
6222
2.66k
            SCN_UNREACHABLE;
6223
2.66k
        }
6224
2.66k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6192
2.63k
    {
6193
2.63k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.63k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.63k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.63k
            auto rd = make_reader<T, char_type>();
6198
2.63k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.17k
                return unexpected(e);
6200
2.17k
            }
6201
6202
460
            return impl(rd, range, value);
6203
2.63k
        }
6204
2.63k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.63k
            auto rd = make_reader<T, char_type>();
6206
2.63k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.63k
                return unexpected(e);
6208
2.63k
            }
6209
6210
2.63k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.63k
                specs.width != 0) {
6212
2.63k
                return impl(rd, range, value);
6213
2.63k
            }
6214
6215
2.63k
            auto crange = get_as_contiguous(range);
6216
2.63k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.63k
            return ranges::next(range.begin(),
6218
2.63k
                                ranges::distance(crange.begin(), it));
6219
2.63k
        }
6220
2.63k
        else {
6221
2.63k
            SCN_EXPECT(false);
6222
2.63k
            SCN_UNREACHABLE;
6223
2.63k
        }
6224
2.63k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6192
113k
    {
6193
113k
        if constexpr (!detail::is_type_disabled<T> &&
6194
113k
                      std::is_same_v<
6195
0
                          context_type,
6196
113k
                          basic_contiguous_scan_context<char_type>>) {
6197
113k
            auto rd = make_reader<T, char_type>();
6198
113k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
113k
            return impl(rd, range, value);
6203
113k
        }
6204
113k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
113k
            auto rd = make_reader<T, char_type>();
6206
113k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
113k
                return unexpected(e);
6208
113k
            }
6209
6210
113k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
113k
                specs.width != 0) {
6212
113k
                return impl(rd, range, value);
6213
113k
            }
6214
6215
113k
            auto crange = get_as_contiguous(range);
6216
113k
            SCN_TRY(it, impl(rd, crange, value));
6217
113k
            return ranges::next(range.begin(),
6218
113k
                                ranges::distance(crange.begin(), it));
6219
113k
        }
6220
113k
        else {
6221
113k
            SCN_EXPECT(false);
6222
113k
            SCN_UNREACHABLE;
6223
113k
        }
6224
113k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
119k
    {
6193
119k
        if constexpr (!detail::is_type_disabled<T> &&
6194
119k
                      std::is_same_v<
6195
0
                          context_type,
6196
119k
                          basic_contiguous_scan_context<char_type>>) {
6197
119k
            auto rd = make_reader<T, char_type>();
6198
119k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.20k
                return unexpected(e);
6200
2.20k
            }
6201
6202
117k
            return impl(rd, range, value);
6203
119k
        }
6204
119k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
119k
            auto rd = make_reader<T, char_type>();
6206
119k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
119k
                return unexpected(e);
6208
119k
            }
6209
6210
119k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
119k
                specs.width != 0) {
6212
119k
                return impl(rd, range, value);
6213
119k
            }
6214
6215
119k
            auto crange = get_as_contiguous(range);
6216
119k
            SCN_TRY(it, impl(rd, crange, value));
6217
119k
            return ranges::next(range.begin(),
6218
119k
                                ranges::distance(crange.begin(), it));
6219
119k
        }
6220
119k
        else {
6221
119k
            SCN_EXPECT(false);
6222
119k
            SCN_UNREACHABLE;
6223
119k
        }
6224
119k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6192
118k
    {
6193
118k
        if constexpr (!detail::is_type_disabled<T> &&
6194
118k
                      std::is_same_v<
6195
0
                          context_type,
6196
118k
                          basic_contiguous_scan_context<char_type>>) {
6197
118k
            auto rd = make_reader<T, char_type>();
6198
118k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
118k
            return impl(rd, range, value);
6203
118k
        }
6204
118k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
118k
            auto rd = make_reader<T, char_type>();
6206
118k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
118k
                return unexpected(e);
6208
118k
            }
6209
6210
118k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
118k
                specs.width != 0) {
6212
118k
                return impl(rd, range, value);
6213
118k
            }
6214
6215
118k
            auto crange = get_as_contiguous(range);
6216
118k
            SCN_TRY(it, impl(rd, crange, value));
6217
118k
            return ranges::next(range.begin(),
6218
118k
                                ranges::distance(crange.begin(), it));
6219
118k
        }
6220
118k
        else {
6221
118k
            SCN_EXPECT(false);
6222
118k
            SCN_UNREACHABLE;
6223
118k
        }
6224
118k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
2.63k
    {
6193
2.63k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.63k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.63k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.63k
            auto rd = make_reader<T, char_type>();
6198
2.63k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
78
                return unexpected(e);
6200
78
            }
6201
6202
2.55k
            return impl(rd, range, value);
6203
2.63k
        }
6204
2.63k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.63k
            auto rd = make_reader<T, char_type>();
6206
2.63k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.63k
                return unexpected(e);
6208
2.63k
            }
6209
6210
2.63k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.63k
                specs.width != 0) {
6212
2.63k
                return impl(rd, range, value);
6213
2.63k
            }
6214
6215
2.63k
            auto crange = get_as_contiguous(range);
6216
2.63k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.63k
            return ranges::next(range.begin(),
6218
2.63k
                                ranges::distance(crange.begin(), it));
6219
2.63k
        }
6220
2.63k
        else {
6221
2.63k
            SCN_EXPECT(false);
6222
2.63k
            SCN_UNREACHABLE;
6223
2.63k
        }
6224
2.63k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6192
297k
    {
6193
297k
        if constexpr (!detail::is_type_disabled<T> &&
6194
297k
                      std::is_same_v<
6195
0
                          context_type,
6196
297k
                          basic_contiguous_scan_context<char_type>>) {
6197
297k
            auto rd = make_reader<T, char_type>();
6198
297k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
3.94k
                return unexpected(e);
6200
3.94k
            }
6201
6202
293k
            return impl(rd, range, value);
6203
297k
        }
6204
297k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
297k
            auto rd = make_reader<T, char_type>();
6206
297k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
297k
                return unexpected(e);
6208
297k
            }
6209
6210
297k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
297k
                specs.width != 0) {
6212
297k
                return impl(rd, range, value);
6213
297k
            }
6214
6215
297k
            auto crange = get_as_contiguous(range);
6216
297k
            SCN_TRY(it, impl(rd, crange, value));
6217
297k
            return ranges::next(range.begin(),
6218
297k
                                ranges::distance(crange.begin(), it));
6219
297k
        }
6220
297k
        else {
6221
297k
            SCN_EXPECT(false);
6222
297k
            SCN_UNREACHABLE;
6223
297k
        }
6224
297k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
297k
    {
6193
297k
        if constexpr (!detail::is_type_disabled<T> &&
6194
297k
                      std::is_same_v<
6195
0
                          context_type,
6196
297k
                          basic_contiguous_scan_context<char_type>>) {
6197
297k
            auto rd = make_reader<T, char_type>();
6198
297k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
3.94k
                return unexpected(e);
6200
3.94k
            }
6201
6202
293k
            return impl(rd, range, value);
6203
297k
        }
6204
297k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
297k
            auto rd = make_reader<T, char_type>();
6206
297k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
297k
                return unexpected(e);
6208
297k
            }
6209
6210
297k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
297k
                specs.width != 0) {
6212
297k
                return impl(rd, range, value);
6213
297k
            }
6214
6215
297k
            auto crange = get_as_contiguous(range);
6216
297k
            SCN_TRY(it, impl(rd, crange, value));
6217
297k
            return ranges::next(range.begin(),
6218
297k
                                ranges::distance(crange.begin(), it));
6219
297k
        }
6220
297k
        else {
6221
297k
            SCN_EXPECT(false);
6222
297k
            SCN_UNREACHABLE;
6223
297k
        }
6224
297k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
6225
6226
    scan_expected<iterator> operator()(typename context_type::arg_type::handle)
6227
0
    {
6228
0
        SCN_EXPECT(false);
6229
0
        SCN_UNREACHABLE;
6230
0
    }
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
6231
6232
    range_type range;
6233
    const detail::format_specs& specs;
6234
    detail::locale_ref loc;
6235
};
6236
6237
template <typename Context>
6238
struct custom_reader {
6239
    using context_type = Context;
6240
    using char_type = typename context_type::char_type;
6241
    using parse_context_type = typename context_type::parse_context_type;
6242
    using iterator = typename context_type::iterator;
6243
6244
    template <typename T>
6245
    scan_expected<iterator> operator()(T&) const
6246
0
    {
6247
0
        SCN_EXPECT(false);
6248
0
        SCN_UNREACHABLE;
6249
0
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
6250
6251
    scan_expected<iterator> operator()(
6252
        typename context_type::arg_type::handle h) const
6253
0
    {
6254
0
        if (auto e = h.scan(parse_ctx, ctx); !e) {
6255
0
            return unexpected(e);
6256
0
        }
6257
0
        return {ctx.begin()};
6258
0
    }
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle) const
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle) const
6259
6260
    parse_context_type& parse_ctx;
6261
    context_type& ctx;
6262
};
6263
}  // namespace impl
6264
6265
SCN_END_NAMESPACE
6266
}  // namespace scn